3.1 if
if 可以在执行判断条件之前加语句 ,语句中变量的生命周期在 if 语句结束后结束
if a := rand.Intn(6);a > 4 {
return 0
}
3.2 for
Golang 有且只有for来进行循环,没有while
arr := []int{1, 2, 3, 4, 5}
for i := 0; i < len(arr); i++ {
fmt.Println(i)
}
n := len(arr)
// 等价于 while 语句
for n > 0 {
fmt.Println(n)
}
//无限循环
for {
}
3.3 switch
Golang 中无需使用 break 语句来跳出 switch。另外,switch 可以没有条件,在case中添加判断语句,相当于if
var i = 4
switch i {
case 0:
fmt.Println("0")
case 1:
fmt.Println("1")
case 2:
fmt.Println("2")
default:
fmt.Println("Default")
}
3.4 range
range 用在 for 中来迭代一个 slice 或者一个 map
for k,v := range arr {
fmt.Printf("arr[%v] == %v\n",k,v)
}
// _ 忽略索引
for _,v := range arr {
fmt.Println(v)
}
// 只需要索引
for k := range arr {
fmt.Println(k)
}