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

更新时间 2022-03-31 15:03:58

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书活动

目前, 星球 内第一个项目:全栈前后端分离博客项目,演示地址:http://116.62.199.48/, 1.0 版本已经更新完毕,正在更新 2.0 版本。采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 187 小节,累计 29w+ 字,讲解图:1263 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 720+ 小伙伴加入,欢迎点击围观

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语句代码示例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 标签处,即跳出至外循环继续,而不是内循环。