Go for语句用于重复一组语句次数。这是go语言中的唯一循环。
Go中有for循环的两种变体:计数器控制的迭代和条件控制的迭代。
当循环执行结束时, 在循环内部创建的对象将被销毁。
Go For Loop计数器控制的迭代示例:
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循环停止。
去嵌套循环示例:
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 { }
不定式循环示例:
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模式的Loop示例:
package main
import "fmt"
func main() {
sum := 1
for sum < 100 {
sum += sum
fmt.Println(sum)
}
}
输出:
2
4
8
16
32
64
128