概述
Go 仅提供了关键字 for
来示意循环,并没有提供 while
和 do-while
语句,这一点和支流编程语言不同。
语法规定
for 初始表达式; 条件表达式; 迭代表达式 {// do something}
留神: 迭代表达式中,不反对 ++i
, --i
这种模式,详情见 自增 / 自减。
例子
单个计数器
package main
func main() {
for i := 0; i < 5; i++ {println(i)
}
}
// $ go run main.go
// 输入如下
/**
0
1
2
3
4
*/
多个计数器
package main
func main() {
for i, j := 1, 5; i <= 5; i, j = i+1, j-1 {println("i =", i, "j =", j)
}
}
// $ go run main.go
// 输入如下
/**
i = 1 j = 5
i = 2 j = 4
i = 3 j = 3
i = 4 j = 2
i = 5 j = 1
*/
模拟 while
package main
func main() {
i := 0
for i < 5 {println(i)
i++
}
}
// $ go run main.go
// 输入如下
/**
0
1
2
3
4
*/
模拟 do-while
package main
func main() {
i := 0
for {println(i)
i++
if i >= 5 {break}
}
}
// $ go run main.go
// 输入如下
/**
0
1
2
3
4
*/
有限循环
package main
func main() {
i := 0
for {println(i)
i++
if i >= 5 {break // 删除这行代码,将会进入有限循环}
}
}
// $ go run main.go
// 输入如下
/**
0
1
2
3
4
*/
// 如果删除 `break` 语句,程序进入有限循环后能够应用 `Ctrl + C` 退出。