For循环是Go语言唯一的循环结构。这里有三种基本的循环类型。
package main
import "fmt"
func main() {
// 最基本的一种,单一条件循环
// 这个可以代替其他语言的while循环
i := 1
for i <= 3 {
fmt.Println(i)
i = i + 1
}
// 经典的循环条件初始化/条件判断/循环后条件变化
//这个也是其他语言中的标准For循环
for j := 7; j <= 9; j++ {
fmt.Println(j)
}
// 无条件的for循环是死循环,除非你使用break跳出循环或者
// 使用return从函数闭包中返回
for {
fmt.Println("loop")
break
}
}
输出:
$ go run for.go
1
2
3
7
8
9
loop
在后续的文章中,当我们在讲解range声明、channel或者其他结构提的时候,我们将会看到For循环的其他形式。
(剧透:使用range循环遍历数组、切片和字典等,使用select函数遍历循环channel通道。)
下一个例子: Go by Example: If/Else.