原标题:厚土Go学习笔记 | 11. for循环 go语言只有for循环
共 17104分钟
Go 只有一种循环结构—— for 循环。
基本的 for 循环包含三个由分号分开的组成部分:
初始化语句:在第一次循环执行前被执行
循环条件表达式:每轮迭代开始前被求值
后置语句:每轮迭代后被执行
初始化语句一般是一个短变量声明,这里声明的变量仅在整个 for 循环语句可见。
如果条件表达式的值变为 false,那么迭代将终止。
package mainimport ( "fmt")func main() { sum := 0 for i := 0; i <10; i++ { sum += 1 } fmt.Println(sum)}
【注意】for循环的三个组成部分,不需要括起来(这一点区别于C、java等其他语言)。循环体必须用 { } 括起来。
三个组成部分中的,初始化语句和后置语句是可选的。所以,for循环你也可以写成这样
sum := 0sum2 := 1for ; sum < 9; { sum += 1 sum2 += sum2}fmt.Println(sum2)
其实,上面for循环的三个组成部分中,如果只剩下条件表达式了,那么那两个分号也是可以省略的。这就有点像C语言的while循环了。
package mainimport ( "fmt")func main() { sum := 0 sum2 := 1 for sum < 9 { sum += 1 sum2 += sum2 } fmt.Println(sum2)}
如果你连条件表达式也省略了,Go语言也认为是正确的写法。那就是一个死循环。
for {}
写个简单的例子,因为你需要知道如何挑出死循环,当然是使用break了。
package mainimport "fmt"func main() { i := 0 for { i++ fmt.Println("Now i is", i) if i > 3 { break } fmt.Println("Behind if i is", i) }}
执行的结果是这样的,显然在“Behid if i is 4”打印之前,就跳出了for循环。
Now i is 1Behind if i is 1Now i is 2Behind if i is 2Now i is 3Behind if i is 3Now i is 4 返回搜狐,查看更多
责任编辑: