golang循环跳转语句

跳转语句 goto break continue

三个语法都可以配合标签使用

标签名区分大小写,若不使用会造成编译错误

break与continue配合标签可用于多层循环的跳出

goto是调整执行位置,与其他2个语句配合标签使用的结果不同

break

func main() {

LABEL1:

for {

for i := 0; i < 10; i++ {

if i > 3 {

fmt.Println(i)

break LABEL1

}

}

}

fmt.Println("执行结束")

}

输出结果

API server listening at: 127.0.0.1:5587

4

执行结束

Process exiting with code: 0

添加LABEL1标签必须要使用

break必须配合标签使用,break后不加LABEL1标签会报错

不添加LABEL1标签break默认跳出for i := 0; i < 10; i++ {这层循环

goto

func main() {

LABEL1:

for {

for i := 0; i < 10; i++ {

if i > 3 {

fmt.Println(i)

goto LABEL1

}

}

}

fmt.Println("执行结束")

}

输出结果

4

4

4

4

4

4

无限循环,当触发got LABEL1标签的时候跳转到LABEL1的位置再次触发了循环

如果你要使用goto可以把LABEL1标签放到循环后

func main() {

for {

for i := 0; i < 10; i++ {

if i > 3 {

fmt.Println(i)

goto LABEL1

}

}

}

LABEL1:

fmt.Println("执行结束")

}

输出结果

API server listening at: 127.0.0.1:29183

4

执行结束

Process exiting with code: 0

continue

触发后跳过本次循环,继续执行下次循环

func main() {

LABEL1:

for {

for i := 0; i < 10; i++ {

if i > 3 {

fmt.Println(i)

continue LABEL1

}

}

}

fmt.Println("执行结束")

}

输出结果为无限循环

我们更改一下

func main() {

LABEL1:

for i := 0; i < 10; i++ {

for {

fmt.Println(i)

continue LABEL1

}

}

fmt.Println("执行结束")

}

输出结果

0

1

2

3

4

5

6

7

8

9

执行结束

Process exiting with code: 0

解析

func main() {

LABEL1:

for i := 0; i < 10; i++ {

for {

fmt.Println(i)

continue LABEL1

}

}

fmt.Println("执行结束")

}

将continue LABEL1换成goto LABEL1结果会一样吗?

func main() {

LABEL1:

for i := 0; i < 10; i++ {

for {

fmt.Println(i)

goto LABEL1

}

}

fmt.Println("执行结束")

}

输出结果为

0

0

0

0

0

0

不一样 goto 不会跳过for语句

php循环 跳转语句,golang循环跳转语句相关推荐

  1. JAVA学习(四):Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)

    Java流程控制语句 本博文将对JAVA中组成各种结构的控制语句进行重点介绍,主要内容是区别于C/C++中的流程控制语句的重点解析. 1.顺序语句 顺序结构中的语句可分为:表达式语句.空语句和复合语句 ...

  2. python中跳过本次循环的语句是_Python跳过for循环

    首先请注意,我是Python的初学者.获取一个当前在ArcGIS环境中处理Python的类.我目前的项目是一个简单的程序,创建文件和复制其他文件到他们.然而,作业的一部分是让print语句陈述发生的情 ...

  3. 退出循环:break 跳过当前的这次循环,直接开始下一次循环:continue

    break 在循环中,break语句可以提前退出循环.例如,本来要循环打印1-100的数字: n = 1 while n <= 100:print(n) n = n + 1 print('END ...

  4. C语言中的分支结构和循环结构有哪些,【单选题】下面哪种不是C语言中的基本结构______。 A. 顺序结构 B. 分支结构 C. 跳转结构 D. 循环结构...

    [单选题]下面哪种不是C语言中的基本结构______. A. 顺序结构 B. 分支结构 C. 跳转结构 D. 循环结构 更多相关问题 [单选,A2型题,A1/A2型题] 金瓷基底冠进行氧化处理时,理想 ...

  5. 汇编语言实验4-利用跳转指令构造循环

    1. 实验目的 能分析各种跳转指令构成的程序的运行原理 会用跳转指令构造循环解决应用问题 体验显示缓冲区的要求 2. 实验内容 任务1-奇怪的程序? 人工分析下面的程序,然后再在Debug程序中单步执 ...

  6. vba 跳到下一个循环_遍历工作薄和工作表(For Each循环的利用)

    今日的内容是"VBA之EXCEL应用"的第三章"工作簿(Workbook)和工作表(Worksheet)对象(Object)"中第三节"遍历工作薄和工 ...

  7. 剑指offer--变态跳台阶--递归和循环

    /*** 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.* 求该青蛙跳上一个n级的台阶总共有多少种跳法.*/ package javabasic.nowcoder; /** 链接: ...

  8. mysql plsql 循环_PL/SQL for...loop循环语句

    FOR LOOP语句是一种重复控制结构,可以有效地编写一个需要执行特定次数的循环. 语法 下面演示如何使用FOR LOOP语句 - FOR counter IN initial_value .. fi ...

  9. python无限循环条件循环_Python - 条件控制、循环语句 - 第十二天

    Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...

最新文章

  1. linux下备份mysql上传到网盘_Linux命令行上传文件到百度网盘
  2. R语言distMeeus函数计算大圆距离实战(Great Circle Distance)
  3. c#-----让richtextbox或者TextBox不可编辑
  4. 半潜式深海平台动力定位控制技术研究
  5. seata 集群_【视频】 聊聊分布式事务解决方案seata
  6. 简易计算器 java_用Java做一个简易计算器,要用到哪些知识?
  7. yii2史上最简单式安装教程,没有之一
  8. Angular的后院:组件依赖关系的解决
  9. 英语四级真题作文 计算机,2019年6月大学英语四级作文范文50例:电脑
  10. 云教版认识计算机说课,【教学设计】第1册第1课《认识电脑交朋友》
  11. 火狐浏览器表单不跳转_坑爹火狐浏览器会记录表单数据,导致服务器控件点击事件出bug...
  12. 银河水滴张曼:远距离步态识别系统与应用 |量子位沙龙回顾
  13. C++ 类对象和 指针的区别
  14. 书单|互联网企业面试案头书之数据分析师篇
  15. vagrant:修改Linux网络设置
  16. 国庆记事之一:小白结婚及我跟女朋友吵架
  17. 电动车实名制挂牌管理系统java+springboot+ssm
  18. 梦想贵在坚持 第一周(1.9-1.15)
  19. 中国企业学习管理系统(LMS)市场趋势报告、技术动态创新及市场预测
  20. (memcpy,memmove...)内存函数还不会??别怕,我来助你一臂之力

热门文章

  1. Linux 命令(138)—— nc 命令
  2. 复习篇1.对象和封装
  3. 写了个关于tomcat项目部署脚本 shell
  4. [POJ1664] 放苹果 (动态规划,组合数学)
  5. SpringBoot中关于Mybatis使用的三个问题
  6. python selenium2 动态调试
  7. 一个非常好的C#字符串操作处理类StringHelper.cs
  8. yum挂在iso文件yum源配置
  9. 真机调试 —— An unknown error occurred.
  10. 在线CSV转TSV工具