Go - for循环



for 循环是一种重复控制结构。它允许你编写需要执行特定次数的循环。

语法

Go 编程语言中for循环的语法如下:

for [condition |  ( init; condition; increment ) | Range] {
   statement(s);
}

for循环的控制流程如下:

  • 如果存在条件,则 for 循环会在条件为真时执行。

  • 如果存在for子句,即( init; condition; increment ),则:

    • init步骤首先执行,并且只执行一次。此步骤允许你声明和初始化任何循环控制变量。只要有分号,你不需要在这里放置语句。

    • 接下来,评估condition。如果为真,则执行循环体。如果为假,则不执行循环体,控制流跳转到for循环后的下一条语句。

    • for循环体执行完毕后,控制流跳转回increment语句。此语句允许你更新任何循环控制变量。只要条件后有分号,此语句可以留空。

    • 现在再次评估条件。如果为真,则执行循环并重复此过程(循环体、然后递增步骤、然后再次条件)。条件变为假后,for循环终止。

  • 如果存在range,则for循环会为范围中的每个项目执行。

流程图

for loop in Go

示例

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
go_loops.htm
广告