Hi,你们好,我是明哥。python
在本身学习 Golang 的这段时间里,我写了详细的学习笔记放在个人我的微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,所以写的东西应该会比较适合刚接触的同窗,若是你也是刚学习 Go 语言,不防关注一下,一块儿学习,一块儿成长。git
个人在线博客:golang.iswbm.com 个人 Github:github.com/iswbm/GolangCodingTimegithub
Go里的流程控制方法仍是挺丰富,整理了下有以下这么多种:golang
上一篇讲了switch - case 选择语句,今天先来说讲 for 循环语句。编程
这是 for 循环的基本模型。数组
for [condition | ( init; condition; increment ) | Range]
{
statement(s);
}复制代码
能够看到 for 后面,能够接三种类型的表达式。微信
但其实还有第四种函数
这个例子会打印 1 到 5 的数值。学习
a := 1
for a <= 5 {
fmt.Println(a)
a ++
}复制代码
输出以下spa
1
2
3
4
5复制代码
for 后面,紧接着三个表达式,使用 ;
分隔。
这三个表达式,各有各的用途
这边的例子和上面的例子,是等价的。
import "fmt"
func main() {
for i := 1; i <= 5; i++ {
fmt.Println(i)
}
}复制代码
输出以下
1
2
3
4
5复制代码
在 Go 语言中,没有 while 循环,若是要实现无限循环,也彻底能够 for 来实现。
当你不加任何的判断条件时, 就至关于你每次的判断都为 true,程序就会一直处于运行状态,可是通常咱们并不会让程序处于死循环,在知足必定的条件下,可使用关键字 break
退出循环体,也可使用 continue
直接跳到下一循环。
下面两种写法都是无限循环的写法。
for {
代码块
}
// 等价于
for ;; {
代码块
}复制代码
举个例子
import "fmt"
func main() {
var i int = 1
for {
if i > 5 {
break
}
fmt.Printf("hello, %d\n", i)
i++
}
}复制代码
输出以下
hello, 1
hello, 2
hello, 3
hello, 4
hello, 5复制代码
遍历一个可迭代对象,是一个很经常使用的操做。在 Go 可使用 for-range 的方式来实现。
range 后可接数组、切片,字符串等
因为 range 会返回两个值:索引和数据,若你后面的代码用不到索引,须要使用 _
表示 。
import "fmt"
func main() {
myarr := [...]string{"world", "python", "go"}
for _, item := range myarr {
fmt.Printf("hello, %s\n", item)
}
}复制代码
输出以下
hello, world
hello, python
hello, go复制代码
系列导读
24. 超详细解读 Go Modules 前世此生及入门使用