1、if语句,满足条件就执行,否则做另一件事。注意的地方是if后面的条件是没有括号的。
if x > 100 {
fmt.Println("x大于10")
} else {
fmt.Println("x小于等于10")
}
还可以有多个条件
if x > 10 {
fmt.Println("x大于10")
} else if x == 10 {
fmt.Println("x等于10")
} else {
fmt.Println("x小于10")
}
2、for语句,用于迭代操作。注意的地方是for后面是没有括号的
func main() {
sum:=0
for i:=0;i<10;i++ {
sum+=1
}
fmt.Println(sum)
}
for语句也可以用来遍历数据结构,例如包含range子句。
func main() {
nums := []int{1,2,3}
for i,n := range nums {
fmt.Println(i,n)
}
}
i用于存储索引值,从0开始,n用于循环nums中的值。
3、switch语句,可以用来替代if else。相对于if else,switch的可读性高一些。
func main() {
i := 10
switch i {
case 2:
fmt.Println("2")
case 5:
fmt.Println("5")
case 10:
fmt.Println("10")
default:
fmt.Println("no")
}
}
i先赋值10,然后switch比较i的值,等于10的会进入流程,default是上面都没有匹配时进入该流程。
4、defer语句通常用于执行清理操作完成后再执行另一个函数
func main() {
defer fmt.Println("11")
defer fmt.Println("22")
fmt.Println("33")
}
输出
33
22
11
先执行main中的函数,然后倒着执行defer对应的另一个函数。