go基础(5.1)go label 的用法

go中的label来自于 C/C++的的goto(问了下公司写C++的据说都不怎么用,容易导致程序运行混乱)

它的作用用过来标记某行;用goto 语句的时候,goto后边需要跟个标号,就知道跳转到哪一行;

例:

fmt.Println("皮卡丘")

goto KEDAYA

fmt.Println("火箭队")

KEDAYA:

fmt.Println("可达鸭")

//上面代码 执行到goto KEDAYA时候  直接跳到执行fmt.Println("可达鸭")

注意:

1.在go语言中标记了某行label 就必须使用到,不然会报错

2.一般情况下使用Label的有goto, continue,break,goto后面必须跟label的名称   continue,break可以不用

continue 用法:

KEDAYA:

for i :=1; i <5; i++ {

if i ==3 {

continue KEDAYA

}

fmt.Println(i)

}

break 用法:

KEDAYA:

for i :=1; i <5; i++ {

if i ==3 {

break KEDAYA

}

fmt.Println(i)

}

(有一说一,这玩意儿感觉很鸡肋,用了跟只用continue和break一样 )

3.Label可以声明在函数体的任何地方,作用范围也就在函数体内

4.嵌套函数的Label无法使用,外面的无法使用嵌套函数内的label,嵌套函数内也无法使用外面的label

5.不可以有两个相同名字的label,label名区分大小写的,label可以和变量名称一样(当然你要跟变量重名的话,你可能被别的程序员打死)

6.goto必须在变量声明之后,变量的声明没法被跳过

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Go语言做Web编程非常方便,并且在开发效率和程序运行效率方面都非常优秀。相比于Java,其最大的优势就是简便易用...
    暗黑破坏球嘿哈阅读 12,940评论 6 66
  • 第一个Go程序 解读: a. package Go源文件开头必须使用package声明代码所属包,包是Go代码分发...
    imsilence阅读 3,928评论 0 0
  • 一、变量分组声明 在Go语言中,同时声明多个常量、变量,或者导入多个包时,可采用分组的方式进行声明。 import...
    副班长国伟阅读 3,180评论 1 0
  • Golang基础语法 [TOC] 一个大的程序是由很多小的基础构件组成的。变量保存值,简单的加法和减法运算被组合成...
    奶爸撸代码阅读 4,170评论 0 4
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 11,020评论 0 5