Go语言如何跳出多层循环(for)?

前言:

截止今日,我初步统计了本人发布的关于go语言基础语法的相关文章,我一共发布了5篇文章,包括:语言简介环境搭建变量数据类型容器类数据类型、。但是阅读量只有40不到,可以说是少得可怜。

经过思考,我猜测导致现状的原因可能有以下几点:

1、go语言作为新兴语言,目前在国内go语言开发者所占数量目前还不多

2、分享的内容大多是go语言基础知识,这些知识在菜鸟教程或是其他入门书籍都比较容易获取到

3、分享的内容很乏,重点不够突出,不能很好的帮助开发者解决开发过程中的一些痛点

所以经过慎重考虑,在接下来的文章中将着重与大家分享一些能解决实际问题的知识点,希望能更好的帮助到其他的go语言使用者。

 

本篇文章将和大家分享的是——Go语言跳出多层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")就没有执行。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值