For

概述 #

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

转载申请

本作品采用 知识共享署名 4.0 国际许可协议 进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,商业转载请联系作者获得授权。

© 蛮荆 | 陕公网安备 61011302001681 号 | 陕ICP备2023004378号-1 | Rendered by Hugo