Go 语言循环语句

如果想要重复执行某些语句,Go 语言中您只有 for 结构可以使用。不要小看它,这个 for 结构比其它语言中的更为灵活。本章节我们要了解的就是循环语句的各种结构,以及如何跳出循环:

注意:其它许多语言中也没有发现和 do while 完全对等的 for 结构,可能是因为这种需求并不是那么强烈。

Break 与 continue

break 语句使用示例:

  1. for {
  2. i = i - 1
  3. fmt.Printf("The variable i is now: %d\n", i)
  4. if i < 0 {
  5. break
  6. }
  7. }

上面的例子可以看到,每次迭代都会对条件进行检查(i < 0),以此判断是否需要停止循环。如果退出条件满足,则使用 break 语句退出当前循环。

一个 break 的作用范围为该语句出现后的最内部的结构,它可以被用于任何形式的 for 循环(计数器、条件判断等)。但在 switchselect 语句中,break 语句的作用结果是跳过整个代码块,执行后续的代码。

下面的示例中包含了嵌套的循环体,break 只会退出最内层的循环:

  1. package main
  2. func main() {
  3. for i:=0; i<3; i++ {
  4. for j:=0; j<10; j++ {
  5. if j>5 {
  6. break
  7. }
  8. print(j)
  9. }
  10. print(" ")
  11. }
  12. }

输出:

  1. 012345 012345 012345

关键字 continue 忽略剩余的循环体而直接进入下一次循环的过程,但不是无条件执行下一次循环,执行之前依旧需要满足循环的判断条件。

示例:

  1. package main
  2. func main() {
  3. for i := 0; i < 10; i++ {
  4. if i == 5 {
  5. continue
  6. }
  7. print(i)
  8. print(" ")
  9. }
  10. }

输出:

  1. 0 1 2 3 4 6 7 8 9
  2. // 显然,5 被跳过了。

另外,关键字 continue 只能被用于 for 循环中。

分类导航