golang break label 与goto label

本文链接:https://blog.csdn.net/itbsl/article/details/73380537

与其他语言一样,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循环下面的情况

原文地址:https://www.cnblogs.com/nyist-xsk/p/11350987.html

时间: 2024-10-19 13:40:30

golang break label 与goto label的相关文章

label 根据文字label自适应宽度

UILabel *Label = [[UILabel alloc]init]; Label.text = @"长一点也是可以的"; Label.textColor = black_Color; Label.textAlignment = NSTextAlignmentLeft; gsmcLabel.font = [UIFont systemFontOfSize:12]; CGSize size = [Label.text sizeWithAttributes:[NSDictionary

break和continue以及label的区别和作用

break和continue的区别和作用: break用于完全结束一个循环[一般只退出一重循环],跳出循环体执行循环后面的语句continue是跳过当次循环中剩下的语句,执行下一次循环. 标号label     标号提供了一种简单的break语句所不能实现的控制循环的方法,当在循环语句中碰到break时,    不管其它控制变量,都会终止.但是,当你嵌套在几层循环中想退出循环时又怎么办呢?break只退出一重循环,    但你可以用标号label标出你想退出哪一个语句.规定标号label必需放在

C#中break,continue,return,,goto,throw的区别(转--未整理完)

break 语句用于终止最近的封闭循环或它所在的switch 语句. 控制传递给终止语句后面的语句(如果有的话). /// <summary> /// break 示例 /// 在此例中,条件语句包含一个应该从 1 计数到 100 的计数器 /// 但 break 语句在计数达到 4 后终止循环. /// </summary> static void Main() { for (int i = 1; i <= 100; i++) { if (i == 5) { break;

sharepoint 2010 调查 / 选项 / 将(指定自定义值)修改为(其他)/ jquery 修改input 值与绑定(for) label,修改label的值

<input name="ctl00$m$g_5dfea861_4535_4b41_9b1b_24242d008905$ctl00$ctl01$ctl01$ctl00$ctl00$ctl04$ctl00$RadioButtons" id="ctl00_m_g_5dfea861_4535_4b41_9b1b_24242d008905_ctl00_ctl01_ctl01_ctl00_ctl00_ctl04_ctl00_ctl04" type="radio

Go学习路径--相关基础

现在开始接触Go一段时间了,基本路径就是看基础学习材料,开始写项目,有问题找解决问题的方法.这里记录一下学习过程. go相关文章 Golang适合高并发场景的原因分析 go build 不同系统下的可执行文件 Golang 支持在一个平台下生成另一个平台可执行程序的交叉编译功能. 1.Mac下编译Linux, Windows平台的64位可执行程序: $ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go $ CGO_ENABLED=0 G

写给大忙人看的Go语言(一)

Tips 写给大忙人看的Golang教程(一)阅读本文之前,我认为你已经掌握其他语言基础并写出一个简单的项目. (1)Golang编程注意事项 源文件必须以.go为扩展名. Go应用程序d额执行入口是main()方法. Go代码严格区分大小写. Go代码不需要分号. Go代码不允许多条语句在同一行出现. Go语言重定义的变量和导入的包如果没有被使用不会编译通过. Go语言大括号是成对出现的. (2)Golang中的常用转义字符 \t 制表符 \n 换行符 \\ 一个斜杠 \" 一个引号 \r 一

ISO/IEC 9899:2011 条款6.2.3——标识符的名字空间

6.2.3 标识符的名字空间 1.如果一个特定标识符的多个声明在一个翻译单元的任意一点可见,那么语法上下文会区分对不同实体的引用.从而,对于标识符各种不同的类别具有独立的名字空间: ——标签名(通过标签声明和使用的语法进行区分): ——结构体.联合体以及枚举的类型名(通过关键字struct.union或enum进行区分): ——结构体或联合体的成员:每个结构体或联合体为其成员具有一个独立的名字空间(通过用于访问成员的.或是->操作符的表达式类型进行区分): ——所有其它标识符称为普通标识符(声明

break label;语句的使用

C语言有个goto关键字,利用goto关键字可以跳出多重循环或跳到某个运行点. java中保留了goto关键字,但是没有goto的功能,主要是考虑到安全性吧.不过java跳出多重循环我们可以使用label标记,在多重循环的最外面一个循环前加上label: ,在需要的跳出的地方写break label就OK了,需要说明这里的label也可以换成其他的单词,只要符合java的标示符就OK. break label; 这里,标签label 是标识代码块的标签.当这种形式的break执行时,控制被传递出

JavaScript中label与break配合使用

语法 label: statement 说明 label语句可以在代码中添加标签,以便将来使用.定义的标签可以在将来由break或continue语句引用.加标签的语句一般都要与for语句等循环语句配合使用. // 示例 let count = 0; loop1: for (let i = 0; i < 10; ++i) { for (let j = 0; j < 10; ++j) { if (i === 6 && j === 6) { break loop1; } ++cou