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

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

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

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 50w+ 字,讲解图 2200+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 1700+ 小伙伴加入学习 ,欢迎点击围观

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