Go中带标签的break/continue以及goto的差别

这篇具有很好参考价值的文章主要介绍了Go中带标签的break/continue以及goto的差别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 带标签的 continue

    直接跳到标签所标记的最外层循环的下一个迭代,忽略当前迭代剩余的代码。

  2. 带标签的 break

    直接跳出标签所标记的最外层循环,继续执行该循环之后的代码。

  3. goto 关键字
    goto 可以无条件地跳转到程序中指定的标签处。在这种情况下,可以使用任意标签,不仅限于循环。

代码范例:

continue

rowLoop: // 这是外层循环的标签
for i, row := range array { // 外层循环
    for j, value := range row { // 内层循环
        if value <= threshold {
            continue rowLoop
        }
        fmt.Printf("Found: row %d, col %d\n", i, j)
        return
    }
}

// 输出:
// Row 0 start
// Row 0, Col 0
// Row 1 start
// Row 1, Col 0
// Row 2 start
// Row 2, Col 0

break

rowLoop: // 这是外层循环的标签
for i := 0; i < 3; i++ { // 外层循环
    fmt.Printf("Row %d start\n", i)
    for j := 0; j < 3; j++ { // 内层循环
        if j == 1 {
            break rowLoop
        }
        fmt.Printf("Row %d, Col %d\n", i, j)
    }
    fmt.Printf("Row %d end\n", i)
}

// 输出:
// Row 0 start
// Row 0, Col 0

goto文章来源地址https://www.toymoban.com/news/detail-656827.html

for i := 0; i < 3; i++ { // 外层循环
	fmt.Printf("Row %d start\n", i)
	for j := 0; j < 3; j++ { // 内层循环
		if j == 1 {
			goto end
		}
		fmt.Printf("Row %d, Col %d\n", i, j)
	}
	fmt.Printf("Row %d end\n", i)
}

end: // 这是goto标签
	fmt.Println("Reached end label")
	
// 输出:
// Row 0 start
// Row 0, Col 0
// Reached end label

到了这里,关于Go中带标签的break/continue以及goto的差别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python循环语句——continue和break

    在Python编程中,循环是常见的控制流语句,它允许我们重复执行一段代码,直到满足某个条件为止。而在循环中,continue和break是两个非常重要的控制语句,它们可以帮助我们更加灵活地控制循环的行为。 continue语句用于跳过当前循环的剩余部分,并立即开始下一次迭代。它常

    2024年02月20日
    浏览(47)
  • C++ Break、Continue 和 数组操作详解

    break 语句还可以用来跳出循环。 在以下示例中,当 i 等于 4 时跳出循环: 以下示例跳过了值为 4 的情况: 你也可以在 while 循环中使用 break 和 continue : Break 示例 Continue 示例 数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。 要声明数组,请定义变量类型

    2024年04月08日
    浏览(53)
  • Shell脚本break和continue语句应用

    记录 :436 场景 : Shell脚本break和continue语句应用。在for、while循环中使用break和continue语句。 版本 :CentOS Linux release 7.9.2009。 1. break和continue语句 break语句用来结束循环语句,会跳出循环,不再执行循环语句。比如for循环、while循环等。 continue语句用来结束本次循环,直接跳到

    2024年02月06日
    浏览(69)
  • python中如何在多层循环中使用break/continue

    关于break/continue这两个在平常的使用过程中一直比较迷糊。好不容易理解了吧,过段时间不使用好像忘记了什么。这个问题也是很多初学者比较容易提及的问题。 先通过一个简单的单层循环来了解一下这两个的使用。 下面是执行以后的结果展示。 根据执行完成

    2024年02月02日
    浏览(47)
  • Linux centos7 bash编程(break和continue)

    在学习shell知识时,简单编程要从格式入手。 首先学习好单行注释和多行注释。 先学习简单整数的打印输出,主要学习 echo 命令,学习选项-e -n的使用。 下面的练习是常用的两个分支跳转程序: break 和 continue 。 #!/bin/bash # 这是 单行注释 # 单行注释的方法就是在每行行首添加

    2024年02月10日
    浏览(39)
  • Java的list.forEach能否实现continue和break

    Java的forEach是一个方便的遍历集合的方法,它的实现方式不允许使用continue语句来跳过某些元素,但可以使用return语句来达到类似continue的效果,也就是说在需要使用continue;的位置直接使用return;替代即可。例如: forEach循环是一种基于迭代器的循环方式,不支持使用break语句来

    2024年02月16日
    浏览(45)
  • java forEach中不能使用break和continue的原因

      1.1使用范围 break适用范围:只能用于switch或者是循环语句中。当然可以用于增强for循环。 continue适用范围: 用于循环语句中。  1.2作用 break: 1. break用于switch语句的作用是结束一个switch语句。 2. break用于循环语句中的作用是结束当前所在的循环语句。 continue: 1.中止当前迭代

    2024年02月19日
    浏览(41)
  • 【Golang】go条件编译

    交叉编译只是为了能在一个平台上编译出其他平台可运行的程序,Go 作为一个跨平台的语言,它提供的类库势必也是跨平台的,比如说程序的系统调用相关的功能,能根据所处环境选择对应的源码进行编译。让编译器只对满足条件的代码进行编译,将不满足条件的代码舍弃,

    2024年02月11日
    浏览(60)
  • 【Golang】go交叉编译

    交叉编译是用来在一个平台上生成另一个平台的可执行程序 。Go 命令集是原生支持交叉编译的。 Mac下编译:Linux 或 Windows 的可执行程序 Linux下编译:Mac 或 Windows的可执行程序 Windows下编译:Mac 或 Linux的可执行程序 需要写一个批处理程序,在里面去设置,因为windows 下的 ter

    2024年02月10日
    浏览(46)
  • Golang:Go语言结构

    在我们开始学习 Go 编程语言的基础构建模块前,让我们先来了解 Go 语言最简单程序的结构。 Go 语言的基础组成有以下几个部分: 包声明 引入包 函数 变量 语句 表达式 注释 接下来让我们来看下简单的代码,该代码输出了\\\"Hello World!\\\": 让我们来看下以上程序的各个部分: 第一

    2024年02月10日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包