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

 更新时间:2021年04月28日 15:49:09   作者:itbsl  
这篇文章主要介绍了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语句也支持标签功能

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

相关文章

  • 详解Go语言中关于包导入必学的 8 个知识点

    详解Go语言中关于包导入必学的 8 个知识点

    这篇文章主要介绍了详解Go语言中关于包导入必学的 8 个知识点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Go语言七篇入门教程七GC垃圾回收三色标记

    Go语言七篇入门教程七GC垃圾回收三色标记

    这篇文章主要为大家介绍了Go语言教程关于GC垃圾回收三色标记的示例详解,本篇文章是Go语言七篇入门教程系列文章,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • Go语言普通指针unsafe.Pointer uintpt之间的关系及指针运算

    Go语言普通指针unsafe.Pointer uintpt之间的关系及指针运算

    这篇文章主要为大家介绍了Go语言普通指针unsafe.Pointer uintpt之间的关系及指针运算示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • go 压缩解压zip文件源码示例

    go 压缩解压zip文件源码示例

    这篇文章主要为大家介绍了go压缩及解压zip文件的源码示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • go带缓冲chan实现消息队列功能

    go带缓冲chan实现消息队列功能

    本文主要介绍了go带缓冲chan实现消息队列功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Go语言判断文件或文件夹是否存在的方法

    Go语言判断文件或文件夹是否存在的方法

    这篇文章主要介绍了Go语言判断文件或文件夹是否存在的方法,结合具体实例形式对比分析了Go语言针对文件与目录判断的操作技巧与相关注意事项,需要的朋友可以参考下
    2017-05-05
  • Go 加密解密算法小结

    Go 加密解密算法小结

    加密解密在实际开发中应用比较广泛,常见的加解密分为三种,本文就详细的介绍一下Go 加密解密算法,具有一定的参考价值,感兴趣的可以了解一下
    2022-01-01
  • 使用Go语言编写HTTP中间件的示例详解

    使用Go语言编写HTTP中间件的示例详解

    在Go语言中,HTTP中间件是一种处理HTTP请求和响应的函数,它可以拦截到请求并对其进行处理,然后再将请求传递给下一个中间件或目标处理程序,本文给大家介绍了使用Go语言编写HTTP中间件的示例,文中有相关的代码示例供大家参考,需要的朋友可以参考下
    2024-01-01
  • Golang 中判断两个结构体相等的方法

    Golang 中判断两个结构体相等的方法

    这篇文章主要介绍了Golang 中如何判断两个结构体相等,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • Golang中多个if代码优化小技巧

    Golang中多个if代码优化小技巧

    这篇文章主要为大家详细介绍了Golang中一些常用的if代码优化小技巧,w文中的示例代码简洁易懂,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10

最新评论