Go for语句用于重复一组语句次数。这是go语言中的唯一循环。

Go中有for循环的两种变体:计数器控制的迭代和条件控制的迭代。

当循环执行结束时,在循环内部创建的对象将被销毁。

Go For循环计数器控制的迭代示例:

package main

import "fmt"

func main() {

   for a := 0; a < 11; a++ {

      fmt.Print(a,"\n")

   }

}

输出:

0

1

2

3

4

5

6

7

8

9

10

如您在上面的示例中看到的那样,循环从初始化阶段开始,变量为i(i:= 0); 只能执行一次。随后是条件检查i(i

<10)。在每次迭代中都执行条件检查。条件变为假时,for循环停止。

go嵌套循环示例:

package main

import "fmt"

func main() {

   for a := 0; a < 3; a++ {

      for b := 3;b > 0; b-- {

         fmt.Print(a," ",b,"\n")

      }

   }

}

输出:

0 3

0 2

0 1

1 3

1 2

1 1

2 3

2 2

2 1

不定式循环

在无限for循环中,缺少条件语句,例如:

for i:=0; ; i++

或者

for { }

go 不定式for循环示例:

package main

import "fmt"

func main() {

   for true  {

      fmt.Printf("This loop will run forever.\n");

   }

}

输出:

This loop will run forever.

This loop will run forever.

This loop will run forever.

This loop will run forever.

This loop will run forever.

This loop will run forever.

This loop will run forever.

继续-条件控制的迭代

没有标题的for循环用于条件控制的迭代。它类似于其他语言中的while循环。

句法:

for condition { }

对于循环示例,使用while方式:

package main

import "fmt"

func main() {

   sum := 1

   for sum < 100 {

      sum += sum

      fmt.Println(sum)

   }

}

输出:

2

4

8

16

32

64

128