Go - for 循环
for 循环是一种重复控制结构。它允许您编写需要执行特定次数的循环。
语法
Go 编程语言中 for 循环的语法是 −
for [condition | ( init; condition; increment ) | Range] {
statement(s);
}
for 循环中的控制流是 a follows -
- 如果条件可用,则只要 condition 为 true,就会执行 for 循环。
- 如果存在 ( init; condition; increment ) 的 for 子句,则 −
- init 步骤首先执行,并且只执行一次。此步骤允许您声明和初始化任何循环控制变量。只要出现分号,就不需要在此处放置语句。
- 接下来,评估条件。如果为 true,则执行循环的主体。如果为 false,则循环的主体不执行,并且控制流将跳转到 for 循环之后的下一条语句。
- 执行 for 循环的主体后,控制流将跳回到 increment 语句。此语句允许您更新任何 loop control 变量。只要 condition 后面出现分号,此语句就可以留空。
- 现在再次评估条件。如果为 true,则执行循环,并且该过程重复自身(循环主体,然后是递增步骤,然后再次是条件)。条件变为 false 后,for 循环终止。
- 如果 range 可用,则 for 循环将针对 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)
}
}
编译并执行上述代码时,它会产生以下结果——
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
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