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 中的每个项目执行。

流程图

Go 中的 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