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