go语言基础语法|青训营笔记

364 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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语言还不是只和其中的一种语言相似。更像是他们的“结合体”一样。虽说讲的比较快,一些小细节部分还是需要自己下去慢慢理解掌握。但大体的用法是理解了。并且运用起来也不是很难。多做案例才能够掌握的很好。