Go 语言 continue 语句(继续下次循环)

发布于: 2020-11-27 19:58:50 作者: 犬小哈 最后修订时间: 2020-11-27 19:58:50

Go 语言中,continue 语句可以结束当前 for 循环,进入下一次 for 循环, 代码如下:

package main

import "fmt"

func main()  {

	for i := 0; i < 10; i++ {
		// 当 i 等于 2 时,执行 continue 语句,继续下一次循环
		if i == 2 {
			continue
		}

		fmt.Printf("i: %d\n", i)
	}
}

代码输出如下:

i: 0
i: 1
i: 3
i: 4
i: 5
i: 6
i: 7
i: 8
i: 9

图示:

go语言continue语句代码示例

可以看到并没有打印 2, 那是因为当循环到 i 等于 2 时,直接执行了 continue 语句,继续了下一循环。

另外,我们还可以在 continue 语句后添加标签,表示开始标签处的循环:

package main

import "fmt"

func main()  {

	OuterLoop:
		// 外循环
		for i := 0; i < 3; i++ {
			// 内循环
			for j := 0; j < 3; j++ {
				// 当 j 等于 1 时,执行 continue 语句跳转到 OuterLoop 标签处,即跳出至外循环,而不是内循环
				if j == 1 {
					continue OuterLoop
				}
				fmt.Printf("i: %d, j: %d\n", i, j)
			}
		}
}

代码输出如下:

i: 0, j: 0
i: 1, j: 0
i: 2, j: 0

代码中,当 j 等于 1 时,会执行 continue 语句直接跳转到 OuterLoop 标签处,即跳出至外循环继续,而不是内循环。