• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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 main
    import (
     "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语句也支持标签功能

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • Golang 空map和未初始化map的注意事项说明
    • Golang 如何判断数组某个元素是否存在 (isset)
    • golang 函数返回chan类型的操作
    • Go语言的Channel遍历方法详解
    • Golang 拷贝Array或Slice的操作
    • 基于Go Int转string几种方式性能测试
    • Go 实现英尺和米的简单单位换算方式
    上一篇:golang 如何用反射reflect操作结构体
    下一篇:基于Go Int转string几种方式性能测试
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Go语言中break label与goto label的区别 语,言中,break,label,与,goto,