执行以下代码,发现无法跳出for循环:

func SelectTest() {i := 0for {select {case <-time.After(time.Second * time.Duration(2)):i++if i == 5 {fmt.Println("跳出for循环")}}fmt.Println("for循环内 i=", i)}fmt.Println("for循环外")
}

解决办法有两个:

1.使用break:

func SelectTest() {i := 0
Loop:for {select {case <-time.After(time.Second * time.Duration(2)):i++if i == 5 {fmt.Println("跳出for循环")break Loop}}fmt.Println("for循环内 i=", i)}fmt.Println("for循环外")}

2.使用goto:

func SelectTest() {i := 0for {select {case <-time.After(time.Second * time.Duration(2)):i++if i == 5 {fmt.Println("跳出for循环")goto Loop}}fmt.Println("for循环内 i=", i)}
Loop:fmt.Println("for循环外")
}

分析:

使用break lable 和 goto lable 都能跳出for循环;不同之处在于:break标签只能用于for循环,且标签位于for循环前面,goto是指跳转到指定标签处

golang 跳出for循环相关推荐

  1. golang 跳出多重循环的高级break用法

    平时写代码过程中难免会遇到循环嵌套的操作,这时候最头疼的就是在break的时候需要一层一层的退出或者使用goto语句,golang有一种和goto方式类似但是goto方式更友好并且更易读的高级brea ...

  2. phpbreak跳出几层循环_php中break如何跳出多重循环的示例代码

    break是被用在上面所提的各种循环和switch语句中的.他的作用是跳出当前的语法结构,执行下面的语句.break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出 ...

  3. Python教程:跳出多层循环for、while

    for跳出多层循环 break_flag = False for i in range(10):print("爷爷层",i)for j in range(10):print(&qu ...

  4. python continue语句的用法(跳过本次循环,不是跳出整个循环,break才是跳出整个循环)

    Python continue 语句跳出本次循环,而break跳出整个循环. continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环. continue语句用在whi ...

  5. mysql触发器 while循环_mysql触发器跳出当前循环方法

    mysql触发器跳出当前循环方法 set @num=@UnitLength/3; label: while i set @length=(select SUBSTRING(@unit_sid_fk,1 ...

  6. sas宏中如何跳出%do循环

    在宏外data里做do循环的时候很正常,用continue就可以了,如 data b; do i=1 to 5; if i=3 then continue; put i; end; run; 结果是 ...

  7. java中break内外循环_java 中break如何跳出外部循环

    学习就是为了不断的看到自己的知识盲点,然后改正,以前知道如何使用break来跳出循环,突然学习到可以用break跳出外部的循环(以前只知道怎么调本次的循环). 上正题代码如下: break跳出本次循环 ...

  8. java跳出指定循环

    java跳出指定循环: 方法一: 在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环: for(int i = 0;i < 10; i ++ ...

  9. java中跳出当前循环怎么做_在java中,如何跳出当前的多重循环?

    直接用break ;具体举例如下: package com.test; public class test { public static void main(String[] args) { for ...

最新文章

  1. 半导体理论(第2部分)半导体掺杂
  2. NUC1429 WERTYU【输入输出】
  3. 2021暑假每日一题 【week6 完结】
  4. Hadoop 1.2.1 集群安装一
  5. OpenCV基于均值漂移的跟踪的实例(附完整代码)
  6. PHP中的ob_start用法详解
  7. 为Java应用程序编写数据驱动的测试
  8. 带有Swagger的Spring Rest API –创建文档
  9. 【JEECG技术文档】JEECG在线聊天插件功能集成文档
  10. vnc远程无法关闭窗口_vnc远程画面不能控制,vnc远程画面控制不了是什么原因?原因详解...
  11. Mysql学习总结(22)——Mysql数据库中制作千万级测试表
  12. connection timed out是什么意思_为什么Java中1000==1000为false而100==100为true?
  13. 通过汉诺塔深入理解递归流程。
  14. Inkscape软件的使用与处理svg格式图片
  15. GJB 软件测试计划(模板)
  16. 微信小程序商城项目实战(第九篇:收货地址管理)
  17. 【基础】SAP 新增计量单位
  18. babaliuliu游戏视频--选择1号角色初体验
  19. ASO优化在大数据时代应该怎么操作,aso优化如何操作
  20. 医学图像处理医学图像处理-卷积神经网络卷积神经网络_基于深度卷积神经网络的刀具磨损量自动提取方法...

热门文章

  1. 第四届蓝桥杯JavaB组国(决)赛真题
  2. 迅雷BT方式的路由器设置
  3. 动手学深度学习-过拟合、欠拟合及其解决方案;梯度消失、梯度爆炸;循环神经网络进阶
  4. 程序员如何开启老干妈瓶盖
  5. tab weui 页面切换_WeUI教程 - loadmore、msg、tab选项卡组件
  6. 携程移动App架构优化之旅
  7. 华为鸿蒙系统操作教程_华为鸿蒙系统开发初体验
  8. 基于vue的简单流程图开发
  9. 传智《Java基础入门》课后习题答案
  10. Django 1.10中文文档-执行查询