go break跳出两层for循环

本文介绍两种在Go语言中实现多层循环提前退出的方法:一是利用标记和break语句;二是使用goto语句。通过示例代码展示了这两种方法的具体应用及输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方式一、

使用标记及循环控制语句break,具体示例如下:

 // 定于一个跳出循环标记
 
  endfor := false
 
  // 定义嵌套for循环
 
  for i := 0; i < 10; i++ {
 
    println("i == ", i)
 
    for a := 0; a < 10; a++ {
 
      println("a == ", a)
 
      if a == 3 {
 
        // 修改跳出循环标记
 
        endfor = true
 
        break
 
      }
 
    }
 
 
 
    // 外层循环判断循环标记,true则结束循环
 
    if endfor {
 
      break
 
    }
 
  }
 
  /*
    输出结果
    i == 0
    a == 0
    a == 1
    a == 2
    a == 3
  */
 

方式二、

使用go语言的goto语句跳出多层循环

  // 定义嵌套for循环
 
  for i := 0; i < 10; i++ {
 
    println("i == ", i)
 
    for a := 0; a < 10; a++ {
 
      println("a == ", a)
 
      if a == 3 {
 
        // 跳转执行goto代码
 
        goto endfor
 
      }
 
    }
 
    println("before endfor")
 
 
 
  endfor:
 
    println("after endfor")
 
 
 
    /*
      输出结果
      i ==0
      a == 0
      a == 1
      a == 2
      a == 3
      after endfor
    */
 
  }

从输出结果可以看出使用goto跳转语句可以正常的跳出多层循环,并执行goto指定的代码块。不过,值得注意的是goto代码块之前的代码将会跳过,如上例中的 println("before endfor")就没有执行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值