概述

Go 仅提供了关键字 for 来示意循环,并没有提供 whiledo-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` 退出。

分割我