「每周译Go」在循环中使用 Break 和 Continue-环球滚动
2022-12-27 14:41:03 来源:
目录在 Go 中导入包理解 Go 中包的可见性如何在 Go 中编写条件语句如何在 Go 中编写 Switch 语句如何在 Go 中构造 for 循环在循环中使用 Break 和 Continue如何在 Go 中定义并调用函数如何在 Go 中使用可变参数函数了解 Go 中的 defer了解 Go 中的 init用构建标签定制 Go 二进制文件了解 Go 中的指针在 Go 中定义结构体在 Go 中定义方法如何构建和安装 Go 程序如何在 Go 中使用结构体标签如何在 Go 使用 interface在不同的操作系统和架构编译 Go 应用用 ldflags 设置 Go 应用程序的版本信息

在 Go 里面如何使用 Flag 包


(资料图片)


介绍

在 Go 中使用 for 循环可以让您以有效的方式自动化重复任务。

学习如何控制循环的操作和流程将允许在您的程序中自定义逻辑。您可以使用 break和 continue语句控制循环。

Break 语句

在 Go 中, break语句终止当前循环的执行。break几乎总是与 条件if语句(点击可跳转查看)配对。

让我们看一个在循环中使用break语句的示例:

packagemainimport"fmt"funcmain(){fori:=0;i<10;i++{ifi==5{fmt.Println("Breakingoutofloop")break//breakhere}fmt.Println("Thevalueofiis",i)}fmt.Println("Exitingprogram")}

这个小程序创建了一个 for循环,该循环在当 i小于 10时进行迭代。

在 for循环中,有一个if语句。该 if语句会检查 i的值是否小于 5。如果 i的值不等于 5,则循环继续并打印出 i的值。如果 i的值等于 5,则循环将执行 break语句,打印 Breaking out of loop,并停止循环。在程序结束时,我们打印出 Exiting program表示我们已经退出了循环。

当我们运行此代码时,输出将如下所示:

OutputThevalueofiis0Thevalueofiis1Thevalueofiis2Thevalueofiis3Thevalueofiis4BreakingoutofloopExitingprogram

这表明,一旦整数 i被检查为等于 5,循环就会中断,因为程序使用 break语句来这样做。

嵌套循环

要记住,break语句只会停止调用它的最内层循环的执行。如果您有一组嵌套循环,如果需要的话,您将需要为每个循环设置 break。

packagemainimport"fmt"funcmain(){forouter:=0;outer<5;outer++{ifouter==3{fmt.Println("Breakingoutofouterloop")break//breakhere}fmt.Println("Thevalueofouteris",outer)forinner:=0;inner<5;inner++{ifinner==2{fmt.Println("Breakingoutofinnerloop")break//breakhere}fmt.Println("Thevalueofinneris",inner)}}fmt.Println("Exitingprogram")}

在这个程序中,我们有两个循环。虽然两个循环都迭代 5 次,但每个循环都有一个带有 break语句的 if条件语句。outer如果等于 3,外部循环将中断。如果 inner值为 2,内部循环将中断。

如果我们运行程序,可以看到输出:

OutputThevalueofouteris0Thevalueofinneris0Thevalueofinneris1BreakingoutofinnerloopThevalueofouteris1Thevalueofinneris0Thevalueofinneris1BreakingoutofinnerloopThevalueofouteris2Thevalueofinneris0Thevalueofinneris1BreakingoutofinnerloopBreakingoutofouterloopExitingprogram

请注意,每次内循环中断时,外循环都不会中断。这是因为break只会中断调用它的最内层循环。

我们已经看到 break是如何停止循环的。接下来,让我们看看 continue如何继续循环的。

Continue 语句

当您想要跳过循环的剩余部分并返回循环顶部继续新的迭代时,可以使用 continue语句。

与 break语句一样,continue语句通常与 if条件语句一起使用。

使用与前面的 Break 语句[1]部分相同的 for循环程序,这里我们将使用 continue语句而不是 break语句:

packagemainimport"fmt"funcmain(){fori:=0;i<10;i++{ifi==5{fmt.Println("Continuingloop")continue//breakhere}fmt.Println("Thevalueofiis",i)}fmt.Println("Exitingprogram")}

使用 continue语句而不是 break语句的区别在于,当变量 i等于 5时,尽管出现中断,我们的代码仍将继续执行。让我们看看我们的输出:

OutputThevalueofiis0Thevalueofiis1Thevalueofiis2Thevalueofiis3Thevalueofiis4ContinuingloopThevalueofiis6Thevalueofiis7Thevalueofiis8Thevalueofiis9Exitingprogram

在这里,我们看到 The value of i is 5没有出现在输出中,但循环在该点之后继续打印数字 6-10 的行,然后结束循环。

您可以使用 continue语句来避免深度嵌套的条件代码,或者通过消除您想要拒绝的一些频繁发生的情况来优化循环。

continue语句能够让程序跳过循环中出现的某些情况,然后继续循环的其余部分。

结论

Go 中的 breakand continue语句将允许您在代码中更高效地使用 for循环。

相关链接:[1]https://gocn.github.io/How-To-Code-in-Go/docs/26-Using_Break_and_Continue_Statements_When_Working_with_Loops_in_Go/#break-%E8%AF%AD%E5%8F%A5

往期推荐

最好的Go框架:没有框架?

「每周译Go」如何在Go中构造For 循环

《Google Go编程规范》终于搞定了!

想要了解Go更多内容,欢迎扫描下方关注公众号,回复关键词 [实战群],就有机会进群和我们进行交流

分享、在看与点赞Go

「每周译Go」在循环中使用 Break 和 Continue-环球滚动

2022-12-27

全球看热讯:12月27日盘前重要产业新闻

2022-12-27

中来股份: 关于控股子公司签订《增资协议》《合资协议补充协议二》暨关联交易的公告

2022-12-26

拓新药业:公司子公司新乡制药是阿兹夫定原料药生产厂家,不参与终端产品销售情况-环球快看

2022-12-26

新消息丨三花智控(002050)11月17日主力资金净卖出1.52亿元

2022-12-26

真是烦死这些垃圾网站了!-今日热议

2022-12-25

新时代新征程新伟业丨让数字经济和实体经济深度融合

2022-12-25

2023年春运火车票开售

2022-12-24

【世界新要闻】中环装备: 第七届监事会第三十次会议决议公告

2022-12-23

天天热点!极市直播预告丨NeurIPS 2022 Oral-张博航:如何从模型层面获得对抗鲁棒性保证?

2022-12-23

【机构调研记录】金元顺安基金调研凯因科技、京山轻机

2022-12-23

家联科技(301193.SZ)拟发行可转债募资不超7.5亿元 用于年产10万吨甘蔗渣可降解环保材料制品项目|动态焦点

2022-12-22

安逸花网贷逾期一千多会被起诉吗?

2022-12-22

热讯:今日数据精选:复必泰澳门开放接种1360港元起;欧洲气价跌破100欧元

2022-12-22

日照用“店小二”式贴心服务助推项目早落地、早投产、早达效 全球今日讯

2022-12-21

异动快报:友阿股份(002277)12月21日11点10分触及涨停板 全球热文

2022-12-21

全球微动态丨闪电贷逾期还款会上征信系统吗

2022-12-21

两市缩量回调 沪指率先回补缺口

2022-12-20

世界速读:“僵尸股”里淘金是伪命题

2022-12-20

明日教育聘任李双双为公司财务负责人2022上半年公司净利197.66万

2022-12-19

盈方微:公司目前在市面销售的集成电路产品主要包括C系列、Q系列、X系列|精选

2022-12-19

A股异动 | 众泰汽车触及涨停 下属子公司签订6.9亿元销售服务协议 世界焦点

2022-12-19

许昌市建安区委宣传部:情系菜农解民忧_当前快报

2022-12-19

天天速讯:我自由了!被耐克解约 欧文自己在球鞋上画logo…

2022-12-18

93年出品的5部亚视神剧,部部经典,最后一部真是无敌了-天天热议

2022-12-17

美股三大指数低开,道指跌0.68%_每日资讯

2022-12-16

本周盘点(12.12-12.16):新华医疗周跌6.37%,主力资金合计净流出7800.11万元

2022-12-16

福建首批预制菜团标发布实施 世界新资讯

2022-12-16

海南橡胶: 中国国际金融股份有限公司关于海南天然橡胶产业集团股份有限公司重大资产购买之独立财务顾问报告(修订稿)|全球热资讯

2022-12-15

疫情频发多发对就业的影响如何?国家统计局回应

2022-12-15

兴蓉环境:12月14日融券卖出金额70.40万元,占当日流出金额的3.42%

2022-12-15

高圆圆的气质好大气,卫衣配白裙太优雅,可惜颈纹暴露真实年纪_世界今热点

2022-12-14

截至8月底我市实有各类市场主体38441户|每日信息

2022-12-14

浩瀚深度(688292)12月13日主力资金净卖出531.32万元-环球实时

2022-12-14

苏州工伤死亡可以赔偿哪些钱|天天速读

2022-12-13

韵达股份:12月12日融券卖出金额106.72万元,占当日流出金额的0.54% 全球新资讯

2022-12-13

不告而拿便是盗窃!谷城一男子偷挖大葱被民警找上门

2022-12-12

当前关注:教育部:全国29个省份已启动高考综合改革

2022-12-12

降低经营成本 加大纾困力度,“新12条”迅速落地提振企业信心 全球时快讯

2022-12-11

世茂股份拟召开债券持有人会议,所有存续公司债12月9日开市起停牌

2022-12-09

精工钢构(600496)12月7日主力资金净卖出5206.76万元

2022-12-08

股票行情快报:锦泓集团(603518)12月6日主力资金净买入185.76万元

2022-12-06

老凤祥欧亚卖场藏宝金豪华店开业 李凤鸣穿“中国红”出席剪彩仪式

2022-10-08

新零售时代 线下卖场如何打好“翻身仗”?

2022-06-20

印度黄金进口量上升至10年来的最高水平 销售几乎翻了一番

2022-03-21

卡地亚母公司历峰集团收入大涨35%至56.6亿欧元

2022-03-21

世界钻石巨头Alrosa 2021年全年收入同比上涨49%

2022-03-21

2021年戴比尔斯四季度毛坯钻产量同比上升15%

2022-03-21

2021年彩钻均价上涨1.7% 其中蓝钻表现最佳

2022-03-21

博茨瓦纳银行2021年毛坯钻销售额同比上涨63.5%

2022-03-21

2021年全年金银珠宝零售总额3041亿元同比上涨29.8%

2022-03-21

黄金消费饰品化、年轻化是本轮黄金首饰消费的支撑力所在

2022-03-21

西班牙轻奢珠宝品牌TOUS 2021财年营收同比上涨37%

2022-03-21

培育钻石上游不存在产能限制更适合细分功能赛道

2022-03-21

因钻石价格稳步上涨 钻石珠宝制造商面临史无前例的艰难时期

2022-03-20

我国珠宝行业产业链毛利率呈现“微笑曲线”

2022-03-20

黄金类产品毛利率与金价具有一定正相关性

2022-03-20

股价一跌再跌!迪阿股份股价创上市以来新低

2022-03-20

婚庆钻饰存量和时尚饰品市场双击下 培育钻石前景广阔

2022-03-20

成品钻价格大幅上涨 1克拉RAPI飙升6.9%

2022-03-20

门店密度测算:一线城市门店密度上限与城市GDP成正比

2022-03-20

澳大利亚阿盖尔矿关闭!世界第四大钻石矿寿命即将到期

2022-03-20

终端需求强劲 大克拉裸钻整体提价明显

2022-03-20

2022年钻石及其制品将持续涨价且有价有市

2022-03-20

钻石价格已上调0% 现在是购买钻石的最佳时机

2022-03-20

钻石价格突然飚涨 创下2011年以来最大单月涨幅纪录

2022-03-20

珠宝行业有望受益于黄金工艺改善带来的高景气度

2022-03-20

四季度印度零售商铂金饰品销售额同比上涨40%

2022-03-20

2021年彩钻均价上涨1.7%黄钻平均上涨0.9% 蓝钻表现最佳

2022-03-20

博茨瓦纳2021年毛坯钻销售额同比上涨63.5%

2022-03-20

颜值时代下 美妆珠宝饰品需求旺盛 行业高景气度持续

2022-03-20

2月份黄金珠宝GMV同比上涨49%港资品牌表现亮眼

2022-03-20

珠宝首饰板块指数报398.71点 涨幅达0.16%

2022-03-20

再贵的蜜蜡 你戴上照样是丑 把蜜蜡戴出时尚范的秘诀

2022-03-20

设计界的天才!德国纪念钻石品牌Ode将亮相中国展区

2022-03-20

女生戒指的戴法和意义是什么呢?

2022-03-20

男士戒指的佩戴法和意义是什么?

2022-03-20

商务部:今年以来我国消费市场呈现稳步恢复态势

2022-03-20

苏州疫情防控再升级:通过铁路离开苏州旅客须提供48小时内核酸检测阴性证明

2022-02-16

“江歌案”二审开庭 江秋莲因身体原因未出庭

2022-02-16

从收受500元开始 他走向深渊

2022-02-16

春季学期即将开学 海南要求校园常态化开展师生核酸检测

2022-02-16

辽宁葫芦岛:派出124名渔业执法人员进驻22座渔港 设立检测点

2022-02-16

葫芦岛昨日采集核酸样本105.5万人 新出现病例的封控小区每人每日单检

2022-02-16

辽宁葫芦岛:截至15日农村地区共居家隔离4029人

2022-02-16

辽宁葫芦岛2月15日新增15例确诊病例 均为绥中县报告

2022-02-16

内蒙古新增本土确诊病例7例

2022-02-16

辽宁葫芦岛新增15例本土确诊病例行程轨迹公布

2022-02-16

江苏新增本土确诊病例19例 其中苏州市18例、南通市1例

2022-02-16

广东新增本土确诊病例3例 均为深圳报告

2022-02-16

广西新增本土确诊病例2例 百色市报告

2022-02-16

上海浦东一厂区生产设备倒塌6人被困 搜救工作正在进行

2022-02-16

辽宁省新增15例本土新冠肺炎确诊病例 为葫芦岛市报告

2022-02-16

我国中东部地区将有一次明显雨雪天气过程

2022-02-16

北京今日晴冷继续“控场” 最高气温仍不足0℃

2022-02-16

云南新增1例本土无症状感染者

2022-02-16

内蒙古呼和浩特发现3例核酸检测阳性人员

2022-02-16

撸猫狗追大象 这届年轻人为什么那么喜欢动物

2022-02-16

喊父母回家上班:一道超越亲情的复杂考题

2022-02-16

医护人员追求“事业蒸蒸日上”哪里做错了

2022-02-16