Go语言中break label与goto label的区别有哪些
这篇文章将为大家详细讲解有关Go语言中break label与goto label的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
与其他语言一样,Go语言也支持label(标签)语法:
分别是break label和 goto label
这样使得编程时变得异常灵活,但是由于在大项目中不好控制,所以建议能不使用goto label就不要使用
break label 和 goto label都能在循环中跳出循环,但是又有些不同之处。
首先说下break label,break的跳转标签(label)必须放在循环语句for前面,并且在break label跳出循环不再执行for循环里的代码。
当我们把标签定义在break的下面时,
我们会发现运行时报错
另外:break标签只能用于for循环
而goto label的label(标签)既可以定义在for循环前面,也可以定义在for循环后面,当跳转到标签地方时,继续执行标签下面的代码。
label标签定义在for循环上面的情况
label标签定义在for循环下面的情况
补充:Go语言-break语句的标签用法
在go语言中,break语句后可以加上标签。如果加了标签,就会跳出标签对应的for循环。
package mainimport ( "fmt")func main() { label1: for i := 0; i < 4; i++ { for j := 0; j < 10; j++ { if j == 2{ break label1 } fmt.Println("j = ", j) } }}
输出为:
j = 0
j = 1
上面例子中,break后的标签label1指定的就是最外层的for循环,所以当j等于2时,直接结束了所有的循环。
ps:continue语句也支持标签功能
关于“Go语言中break label与goto label的区别有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341