go语言基础 break和contine区别

背景

break和continue是编程语言的标准语法,几乎在所有的语言都有类似的用法。

  • go语言及所有其他编程语言
  • for循环或者其他循环

区别

复制代码
for i := 0; i < 10; i++ {

		if i == 5 {
			continue
		}

		fmt.Println(i)

		for j := 0; j < 3; j++ {
			fmt.Println(strconv.Itoa(j) + "a")
			break
		}

		if i == 7 {
			break
		}
	}

输出

复制代码
复制代码
0
0a
1 
0a
2 
0a
3 
0a
4 
0a
6 
0a
7 
0a

结论

假设一个for循环代表{}内循环N次

  1. continue,代码执行contine的时候,当前的这次循环不继续执行。进入洗一次循环。即代码完整执行次数是N-1次,遇到contine这次执行了contine之前的部分,之后不执行。

  2. break 代码执行到break的时候直接终止for循环

注意

contine和break仅作用域{}内,遇到多重for嵌套,break和contine对{}外部,即上一层for循环时没有作用的。

相关推荐
破茧蝴蝶4 小时前
Python分布式爬虫完整教程
开发语言·python
狗凯之家源码网4 小时前
全新 PHP 轻量客服聊天室源码深度评测
开发语言·php·聊天室系统
远离UE45 小时前
UE5 Substrate Thin Film 源码拆析
开发语言·javascript·ue5
keyipatience5 小时前
JavaScript学习(1)书写位置,变量、数据类型、运算符
开发语言·前端·javascript·css·学习
栈帧之外6 小时前
【C++】STL之set
开发语言·c++
catchadmin6 小时前
免费可商用 PHP 管理后台 CatchAdmin V5.4.1 发布,新增 MCP 支持
开发语言·php
jimy18 小时前
c++的 Type Traits (二、更详细版本)
开发语言·c++
狗凯之家源码网8 小时前
纯 PHP+MySQL 应用市场系统源码实测!
开发语言·mysql·php
dishugj8 小时前
系统架构风险点、敏感点和权衡点的概念和区分
java·开发语言
geovindu8 小时前
rust:Memento Pattern(续)
开发语言·后端·设计模式·rust·行为模式·备忘录模