for循環是一個循環控制結構,可以有效地編寫需要執行的特定次數的循環。
語法
for循環在Go編程語言中的語法是:
for [condition | ( init; condition; increment ) | Range]
{
statement(s);
}
下面是控制在一個流程的for循環:
如果condition是可用的,那么對于循環只要條件為真時執行。
如果for子句是( init; condition; increment ) 存在則
初始化(init)步驟首先被執行,并且只有一次。這一步可以聲明和初始化任何循環控制變量。不需要把一個聲明在這里,只要有一個分號出現。
接著,條件(condition)進行了評估計算。如果為true,則執行循環體。如果是假的,循環體不執行,只是之后的for循環流量控制跳轉到下一條語句。
for循環執行主體之后,控制流跳轉回到增量(increment)語句。此語句可以讓你更新任何循環控制變量。這個語句可以留空,只要一個分號出現條件后。
condition現在重新評估計算。如果為true,循環執行的過程中重復(循環體,然后增加步,然后再次條件)。之后如果條件為假,則循環終止。
如果range可用,然后循環執行的范圍內的每個項目。
流程圖:
例子:
package main
import "fmt"
func main() {
var b int = 15
var a int
numbers := [6]int{1, 2, 3, 5}
/* for loop execution */
for a := 0; a < 10; a++ {
fmt.Printf("value of a: %d\n", a)
}
for a < b {
a++
fmt.Printf("value of a: %d\n", a)
}
for i,x:= range numbers {
fmt.Printf("value of x = %d at %d\n", x,i)
}
}
讓我們編譯和運行上面的程序,這將產生以下結果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
value of a: 0 value of a: 1 value of a: 2 value of a: 3 value of a: 4 value of a: 5 value of a: 6 value of a: 7 value of a: 8 value of a: 9 value of a: 1 value of a: 2 value of a: 3 value of a: 4 value of a: 5 value of a: 6 value of a: 7 value of a: 8 value of a: 9 value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of x = 1 at 0 value of x = 2 at 1 value of x = 3 at 2 value of x = 5 at 3 value of x = 0 at 4 value of x = 0 at 5 |
Go語言嵌套for循環
Go編程語言允許使用一個循環內嵌套另一個循環。下面的內容展示幾個例子來說明這個概念。
語法
在Go語言中嵌套for循環語句的語法如下:
for [condition | ( init; condition; increment ) | Range]
{
for [condition | ( init; condition; increment ) | Range]
{
statement(s);
}
statement(s);
}
例子:
下面的程序使用嵌套for循環從2至100找出的素數:
package main
import "fmt"
func main() {
/* local variable definition */
var i, j int
for i=2; i < 100; i++ {
for j=2; j <= (i/j); j++ {
if(i%j==0) {
break; // if factor found, not prime
}
}
if(j > (i/j)) {
fmt.Printf("%d is prime\n", i);
}
}
}
當上述代碼被編譯和執行時,它產生了以下結果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
2 is prime 3 is prime 5 is prime 7 is prime 11 is prime 13 is prime 17 is prime 19 is prime 23 is prime 29 is prime 31 is prime 37 is prime 41 is prime 43 is prime 47 is prime 53 is prime 59 is prime 61 is prime 67 is prime 71 is prime 73 is prime 79 is prime 83 is prime 89 is prime 97 is prime |