if 能够在执行判断条件以前加语句 ,语句中变量的生命周期在 if 语句结束后结束code
if a := rand.Intn(6);a > 4 { return 0 }
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 { }
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") }
range 用在 for 中来迭代一个 slice 或者一个 mapit
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) }