for
循环是一种重复控制结构,它允许您有效地编写需要执行特定次数的循环。
语法
Go编程语言中的for
循环的语法是:
for [condition | ( init; condition; increment ) | Range]
{
statement(s);
}
下面是for
循环中的控制流程:
- 如果条件可用,则只要条件为真,
for
循环就执行。 如果
for
子句是( init; condition; increment ),则存在- init步骤首先执行,并且只执行一次。此步骤允许您声明和初始化循环控制变量。不需要在这里放置语句,只要有一个分号出现。
- 接下来,评估(求值)条件。 如果为真,则执行循环体。 如果为
false
,循环的主体不执行,控制流跳到for
循环之后的下一个语句。 - 在
for
循环的主体执行后,控制流跳回到increment语句。此语句允许更新任何循环控制变量。 此语句可以留空,只要有一个分号出现。 - 现在再次评估(求值)条件。 如果为真,则循环执行并且过程重复(循环体,然后增加(increment)步骤,然后再次进入条件increment)。条件变为假后,
for
循环终止。
如果范围(range)可用,则对该范围中的每个项目执行
for
循环。
流程图
示例
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)
}
}
当上述代码编译和执行时,它产生以下结果:
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