一,Go 只有一种循环结构—— for
循环。
官方教程:https://tour.go-zh.org/flowcontrol/1
Go 只有一种循环结构—— for
循环。
基本的 for
循环包含三个由分号分开的组成部分:
- 初始化语句:在第一次循环执行前被执行
- 循环条件表达式:每轮迭代开始前被求值
- 后置语句:每轮迭代后被执行
初始化语句一般是一个短变量声明,这里声明的变量仅在整个 for
循环语句可见。
如果条件表达式的值变为 false
,那么迭代将终止。
注意:不像 C,Java,或者 Javascript 等其他语言,for
语句的三个组成部分 并不需要用括号括起来,但循环体必须用 { }
括起来。
官方示例:
package main import "fmt" func main() { sum := 0 for i := 0; i < 10; i++ { sum += i } fmt.Println(sum) }
二,循环初始化语句和后置语句都是可选的。
官方示例:
package main import "fmt" func main() { sum := 1 for ; sum < 1000; { sum += sum } fmt.Println(sum) }
三,for 是 Go 的 “while”
官方教程:https://tour.go-zh.org/flowcontrol/3
C 的 while 在 Go 中叫做 for 。如果想要像C的while一样工作,需要省略“;”。
官方示例:
package main import "fmt" func main() { sum := 1 //这里省略了“;”,结果这个for语句就成了C中的while语句 for sum < 1000 { sum += sum } fmt.Println(sum) }
四,死循环
官方教程:https://tour.go-zh.org/flowcontrol/4
如果省略了循环条件,循环就不会结束,因此可以用更简洁地形式表达死循环。
官方示例:
package main func main() { //省略了循环条件了,成了死循环了 for { //注意:在没有添加退出条件前,不要尝试执行这段代码 } }