Go 語言 for 循環(huán)
for循環(huán)是一個(gè)循環(huán)控制結(jié)構(gòu),可以執(zhí)行指定次數(shù)的循環(huán)。
語法
Go語言的For循環(huán)有3種形式,只有其中的一種使用分號。
和 C 語言的 for 一樣:
for init; condition; post { }
和 C 的 while 一樣:
for condition { }
和 C 的 for(;;) 一樣:
for { }
- init: 一般為賦值表達(dá)式,給控制變量賦初值;
- condition: 關(guān)系表達(dá)式或邏輯表達(dá)式,循環(huán)控制條件;
- post: 一般為賦值表達(dá)式,給控制變量增量或減量。
for語句執(zhí)行過程如下:
- ①先對表達(dá)式1賦初值;
- ②判別賦值表達(dá)式 init 是否滿足給定條件,若其值為真,滿足循環(huán)條件,則執(zhí)行循環(huán)體內(nèi)語句,然后執(zhí)行 post,進(jìn)入第二次循環(huán),再判別 condition;否則判斷 condition 的值為假,不滿足條件,就終止for循環(huán),執(zhí)行循環(huán)體外語句。
for 循環(huán)的 range 格式可以對 slice、map、數(shù)組、字符串等進(jìn)行迭代循環(huán)。格式如下:
for key, value := range oldMap {
newMap[key] = value
}
for語句語法流程如下圖所示:
實(shí)例
package main
import "fmt"
func main() {
var b int = 15
var a int
numbers := [6]int{1, 2, 3, 5}
/* for 循環(huán) */
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)
}
}
以上實(shí)例運(yùn)行輸出結(jié)果為:
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
更多建議: