即时:「每周译Go」在循环中使用 Break 和 Continue
目录在Go中导入包理解Go中包的可见性如何在Go中编写条件语句如何在Go中编写Switch语句如何在Go中构造for循环在循环中使用
在 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中导入包理解Go中包的可见性如何在Go中编写条件语句如何在Go中编写Switch语句如何在Go中构造for循环在循环中使用
同花顺数据中心显示,翰博高新12月26日获融资买入45 36万元,占当日买入金额的7 33%,当前融资余额2527 42万元,占流通市值的2 16%,低于历史1
(记者张添福)青海省交通运输厅26日晚发布消息,青海省西海(海晏)至察汗诺公路主体工程(K3+280—K205+600段)顺利通过交工验收,标志着青海省交
殷立勤摄 各方联手冲刺,护航C919迎接旅客启航东航全球首架C919客机从虹桥机场起飞前往北京。殷立勤摄 验证飞行期间,东航将针对C919机
当人们穿梭在南锣鼓巷一如既往的喧闹中,稍不留意,便有可能错过那些夹杂在林立商铺中的胡同入口。雨儿胡同与南锣鼓巷相交的东入口并不十分明
人民网雄安12月25日电雄安新区雄东片区B单元安置房项目二标段首段主楼筏板(B2-04-01-4 )24日顺利浇筑砼,标志着雄东B单元建设跨入主体施工阶段。雄
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
很多时候需要周期性的执行某些操作,就需要用到定时器。定时器有三种思路。Sleep使用休眠,让当前Goroutine休眠一定的时间来实现定时的效果,
网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天后上报给征信机构,因为有些借贷机构可
成都:一法官庭审时存在言语失当等问题已被停职中新网成都12月22日电(记者安源)四川省成都市新都区人民法院22日通报称,该院一名法官在一起民
为何需要接种第二剂加强针专家:可短时间内激活免疫系统重获抗体---按照国家统一部署,在第一剂次加强免疫接种基础上,现阶段在感染高风险人群
2023年cma报名有三个时间点,考生可以去IMA协会完成会员注册登录以后,进行考试时间段的查询,第一个考试时间2023年4月8日;考试注册截止时间2
随着疫情政策的放开,公司的同事、身边的朋友陆续中招,公司里上班戴口罩的越来越多,上班的人却每天都在减少。我一直的心态都是,反正迟早都
范涛表示,“公司储能业务今年刚起量,未来公司将在户用储能基础上,把工商业储能慢慢做起来,充分利用平台研发和渠道共享的优势,不断拓展储
新疆阿勒泰地处北纬45度—47度世界滑雪黄金纬度带,有效存雪期180天以上。有的是初学者,正在摸索学习滑雪技巧;有的已经达到了发烧友的级别,
在我做的BDF框架中,业务建模是非常重要的一个能力之一。因为有了建模能力,就可以提供面向于不同目标用户的可解释能力了。这种可解释能力可
伊朗外长阿卜杜拉希扬12月20日说,伊朗愿意根据此前达成的成果草案完成在奥地利首都维也纳举行的伊朗核问题全面协议恢复履约谈判。据伊朗外交
梦天家居股份有限公司董事会独立董事关于第二届董事会第十一次会议相关议案的独立意见根据《上市公司独立董事规则》《上海证券交易所股票上市
今日消息,小米集团张宇换上了RedmiK60系列新品,因该机尚未正式发布,所以还在保密阶段。张宇称这是行走的100万美金”。根据此前曝光的消息,
近年来,ESG投资已成为投资界的主流趋势,但毋庸讳言,它也面临诸多挑战,主要表现为三大领域的九大挑战。三大领域分别是ESG数据、ESG评级和ES
[ 相关新闻 ]
Copyright 2015-2022 南方医院网 版权所有 备案号:粤ICP备18023326号-21 联系邮箱:855 729 8@qq.com