Go 語言for 循環
for循環是一個循環控制結構,可以執行指定次數的循環。
語法
Go語言的For循環有3中形式,只有其中的一種使用分號。
和C 語言的for 一樣:
for init; condition; post { }
和C 的while 一樣:
for condition { }
和C 的for(;;) 一樣:
for { }
- init: 一般為賦值表達式,給控制變量賦初值;
- condition: 關係表達式或邏輯表達式,循環控制條件;
- post: 一般為賦值表達式,給控制變量增量或減量。
for語句執行過程如下:
- ①先對錶達式1賦初值;
- ②判別賦值表達式init 是否滿足給定條件,若其值為真,滿足循環條件,則執行循環體內語句,然後執行post,進入第二次循環,再判別condition;否則判斷condition 的值為假,不滿足條件,就終止for循環,執行循環體外語句。
for 循環的range 格式可以對slice、map、數組、字符串等進行迭代循環。 格式如下:
for key, value := range oldMap { newMap[key] = value }
for語句語法流程如下圖所示:
實例
package main import "fmt" func main() { var b int = 15 var a int numbers := [6]int{1, 2, 3, 5} /* for 循环 */ for a := 0; a < 10; a++ { fmt.Printf("a 的值为: %d\n", a) } for a < b { a++ fmt.Printf("a 的值为: %d\n", a) } for i,x:= range numbers { fmt.Printf("第 %d 位 x 的值 = %d\n", i,x) } }
以上實例運行輸出結果為:
a 的值为: 0 a 的值为: 1 a 的值为: 2 a 的值为: 3 a 的值为: 4 a 的值为: 5 a 的值为: 6 a 的值为: 7 a 的值为: 8 a 的值为: 9 a 的值为: 1 a 的值为: 2 a 的值为: 3 a 的值为: 4 a 的值为: 5 a 的值为: 6 a 的值为: 7 a 的值为: 8 a 的值为: 9 a 的值为: 10 a 的值为: 11 a 的值为: 12 a 的值为: 13 a 的值为: 14 a 的值为: 15 第 0 位 x 的值 = 1 第 1 位 x 的值 = 2 第 2 位 x 的值 = 3 第 3 位 x 的值 = 5 第 4 位 x 的值 = 0 第 5 位 x 的值 = 0