for循環是一個循環控制結構,可以執行指定次數的循環。
三種循環方式
第一種,常見的 for 循環,支持初始化語句
for init; condition; post { }
init: 一般為賦值表達式,給控制變量賦初值;
condition: 關系表達式或邏輯表達式,循環控制條件;
post: 一般為賦值表達式,給控制變量增量或減量。
for語句執行過程如下:
1) 先對表達式 init 賦初值;
2)判別賦值表達式 init 是否滿足給定 condition 條件,若其值為真,滿足循環條件,則執行循環體內語句,然后執行 post,進入第二次循環,再判別 condition;否則判斷 condition 的值為假,不滿足條件,就終止for循環,執行循環體外語句。
package main import ( "fmt" ) func main() { for i := 1; i < 10; i++ { fmt.Println(i) } }
第二種,關系表達式或邏輯表達式控制循環
for condition { }
實例如下:
package main import ( "fmt" ) func main() { i := 0 for i < 5 { i++ } for i == 5 { fmt.Println(i) break } }
第三種,無限循環
for { } for true { }
實例如下:
package main import ( "fmt" "time" ) func main() { for { fmt.Println("無限循環 for {}") time.Sleep(time.Second) } }
循環嵌套
在 for 循環中可以嵌套一個或多個 for 循環,實例如下:
1)使用循環嵌套來輸出九九乘法表:
package main import "fmt" func main() { for i := 1; i < 10; i++ { for j := 1; j <= i; j++ { fmt.Printf("%d * %d = %2d\t", i, j, i*j) } fmt.Println() } }
2)使用循環嵌套來輸出 2 到 100 間的素數:
package main import "fmt" func main() { var i, j int for i = 2; i < 100; i++ { for j = 2; j (i / j) { fmt.Printf("%2d 是素數\n", i) } } }