Go语言的循环语句只有一种,那就是for
-
for(语句1;语句2;语句3){ }
语句1为赋值表达式,一般用于给循环控制变量设定初值,语句2为条件控制语句,语句3为赋值表达式,一般用于给循环控制变量进行设置。
使用示例:
for i:=1;i<=10;i++{
println(i)
}
//打印1~10
如上所示,for语句的使用基本与C/C++一致。对于上述for循环中的语句1和语句3是可以省略的。语句1和语句3主要是通过设定的循环控制变量来控制循环次数,我们也可以使用for语句块以外的变量来控制循环,即省略语句1和语句3,只留下条件控制语句(语句2),这时for语句的功能就和C/C++中while语句的功能一致了。
-
for 条件{ }
使用示例:
i := 1
for i <= 10{
println(i)
i++
}
//打印1~10
这种for循环的书写格式,可以代替while循环。
- 无限循环
for true{
println("Hello go")
}
//也可以写成如下形式,即省略true
for {
println("Hello go")
}
for-each
通过使用for-each来实现遍历一个可迭代对象的功能。类似于python中的for ... in...。
使用示例:
var arr [3]string = [3]string{"go", "C", "python"}
for _, value:= range arr{
fmt.Println("Hello ", value)
}
输出结果为:
Hello go Hello C Hello python
解释:range会返回两个值,一个是索引,另一个是该索引对应的值。当用不到索引时,可以使用_抛弃改值。
杂谈由于for循环语句本身便能够实现while循环的特性,go语言舍弃了while语句,体现了go语言的简洁性。
参考资料- https://www.runoob.com/go/go-for-loop.html
- https://golang.iswbm.com/c01/c01_10.html



