这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
一、变量
1.1 变量定义
var b, c int = 1, 2
代码表示定义了b和c两个变量,赋初始值为1和2。
1.2 赋值给新的变量
g := a + "foo"
需要用到“:=”的语法格式,因为上述代码中的g没有被定义。
1.3 常量
const h = 500000000
常量的定义方法需要用到const来定义一个常量。
二、循环
2.1 编写格式
for j := 7; j < 9; j++ {
fmt.Println(j)
}
go语言中的循环只有这一种格式的循环 for循环。
三、分支语句
3.1 if语句
if 7%2 == 0 {
fmt.Println("7 is even")
} else {
fmt.Println("7 is odd")
}
if +判断语句{ 执行语句}的格式。注意判断条件不加()。
3.2 switch语句
a := 2
switch a {
case 1:
fmt.Println("one")
case 2:
fmt.Println("two")
case 3:
fmt.Println("three")
case 4, 5:
fmt.Println("four or five")
default:
fmt.Println("other")
}
语法格式如上面的代码所示,注意这里的case内没有break,这是和其他语言不同的地方。 执行完某个分支后会自动跳出判断条件。
四、数组
4.1 二维数组
var twoD [2][3]int
for i := 0; i < 2; i++ {
for j := 0; j < 3; j++ {
twoD[i][j] = i + j
}
}
输出的形式为[[0 1 2] [1 2 3]],一维数组定义和二维数组类似。
五、map
5.1 定义和初始化
m := make(map[string]int)
m["one"] = 1
m["two"] = 2
上述代码中map的key为one、two;value值为1、2。
六、函数
func add(a int, b int) int {
return a + b
}
上述代码:形参为a,b,返回的结果为int类型。
七、结构体
type user struct {
name string
password string
}
结构体的定义和c、c++类似
a := user{name: "wang", password: "1024"}
存取值的代码格式如上述代码。
var d user
d.name = "wang"
d.name获取到的就是wang。相应的d.password获取到的就是密码。
八、总结
go语言的基础语法老师讲解了一个小时、还有一个小时带我们练习了3个案例用来巩固基础的语法。go语言的语法给我的感受就是和python、c、javascript等语言的一些模块都有很相似的地方,go语言还不是只和其中的一种语言相似。更像是他们的“结合体”一样。虽说讲的比较快,一些小细节部分还是需要自己下去慢慢理解掌握。但大体的用法是理解了。并且运用起来也不是很难。多做案例才能够掌握的很好。