主页 > 知识库 > Go语言中break label与goto label的区别

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

热门标签:阿克苏地图标注 涿州代理外呼系统 外呼系统显本地手机号 评价高的400电话办理 excel地图标注分布数据 寿光微信地图标注 电话机器人软件免费 外呼系统用什么卡 百度地图标注后传给手机

与其他语言一样,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 实现英尺和米的简单单位换算方式

标签:鸡西 汕头 吐鲁番 钦州 梅河口 重庆 兰州 铜川

巨人网络通讯声明:本文标题《Go语言中break label与goto label的区别》,本文关键词  语,言中,break,label,与,goto,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《Go语言中break label与goto label的区别》相关的同类信息!
  • 本页收集关于Go语言中break label与goto label的区别的相关信息资讯供网民参考!
  • 推荐文章