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.