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) }