go break跳出两层for循环

方式一、

使用标记及循环控制语句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")就没有执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值