4.4 Go goto continue break
4.4 Go goto continue break
Go语言的goto语句可以无条件的跳转到指定的代码行执行。
goto语句一般与条件语句结合,实现条件转义,跳出循环体等。
Go程序不推荐使用goto,以免造成程序混乱,难以阅读。
实例:
package main import "fmt" func main() {
var num int = 100 fmt.Println("num值100")
if num > 90 {
goto label
//此处代码已经不走,直接goto了
fmt.Println("呵呵")
}
fmt.Println("我是占位符")
fmt.Println("我是占位符")
fmt.Println("我是占位符")
fmt.Println("我是占位符")
fmt.Println("我是占位符")
//触发了goto,进入本次标签
label:
fmt.Println("由于触发了goto,进入到我这里了") fmt.Println("我也是占位符")
fmt.Println("我也是占位符")
fmt.Println("我也是占位符")
}
1.1. break
用于中断当前循环或跳出switch中的case语句
package main import "fmt" func main() {
var num int = 10 for num < 50 {
fmt.Printf("a的值是:%v\n", num)
num++
if num > 30 {
break //跳出for循环
}
}
}
break label
当处于多层嵌套for循环,直接跳出所有循环嵌套,可以用break label特性
package main import (
"fmt"
) func main() {
fmt.Println("主程序开始执行")
Exit:
for i := 0; i < 9; i++ {
for j := 0; j < 9; j++ {
if i+j > 15 {
fmt.Println("程序结束")
break Exit
}
}
}
fmt.Println("已跳出循环体")
}
1.2. continue语句
continue语句跳出当前循环剩余代码,继续进行下一次循环。
package main import "fmt" func main() {
/* 定义局部变量 */
var a int = 10 /* for 循环 */
for a < 20 {
if a == 15 {
/* 当a等于15时,跳出循环,让a++,等于16,跳过本次循环 */
a++
continue
}
fmt.Printf("a 的值为 : %d\n", a)
a++
}
}
1.3. return语句
return用在方法或函数中,表示终止所在的方法或函数(method与function)。
return在main函数中,表示终止main函数,终止程序。
package main import "fmt" func main() {
for i := 0; i <= 10; i++ {
if i == 5 {
return //直接退出main函数了
}
fmt.Printf("本次循环次数:%d\n", i)
}
//永远走不带这里了,第五次for循环时候,直接return了
fmt.Println("循环结束,走到了我")
}
4.4 Go goto continue break的更多相关文章
- Java goto,continue,break,标签
goto:在Java中goto仍是保留字,但并未在语言中使用它:Java没有goto. 保留字的定义: 保留字(reserved word),指在高级语言中已经定义过的字,使用者不能再将这 ...
- java continue break 关键字 详解 区别 用法 标记 标签 使用 示例 联系
本文关键词: java continue break 关键字 详解 区别 用法 标记 标签 使用 示例 联系 跳出循环 带标签的continue和break 嵌套循环 深入continue ...
- js补充小知识点(continue,break,ruturn)
1.continue,break,ruturn eg:1-100的和 $(function () { $("#hello").click(function () { var iNu ...
- dead loop、continue & break、while...else语句
Dead loop 死循环,一经触发就会永远运行下去. continue & break 如果在循环过程中,因为某些原因,你不想继续循环了,就要用到break 或 continue语句. br ...
- day10 while else continue break
a. while else b. continue break continue ,终止当前循环,开始下一次循环 break ...
- go (break goto continue)
package main import ( "fmt" ) func main() { LABEL1: for { ; i < ; i++ { { break LABEL1 ...
- Java中goto和break、continue实现区别
goto 关键字很早就在程序设计语言中出现.事实上,goto 是汇编语言的程序控制结构的始祖:“若条件 A,则跳到这里:否则跳到那里”.若阅读由几乎所有编译器生成的汇编代码,就会发现程序控制里包含了许 ...
- continue break 区别
在循环中有两种循环方式 continue , break continue 只是跳出本次循环, 不在继续往下走, 还是开始下一次循环 break 将会跳出整个循环, 此循环将会被终止 count = ...
- js 之 continue break return 用法及注意事项
1,continue continue有两种用法: 1,continue; 这种用法必须包含在循环里,否则报错,例子: for(var i=0;i<10;i++){ if(i%2===0){ c ...
随机推荐
- automake autoconf 使用详解
本文地址: http://www.laruence.com/2009/11/18/1154.html 文章转自: http://www.linuxcomputer.cn/ 作为Linux下的程序开发人 ...
- Spring Boot filter
在Spring Boot中自定义filter 本文我们将会讲解如何在Spring Boot中自定义filter并指定执行顺序. 定义Filter很简单,我们只需要实现Filter接口即可,同时我们可指 ...
- 8.Python中装饰器是什么?
Python中装饰器是什么? A Python decorator is a specific change that we make in Python syntax to alter functi ...
- .NET平台上的编译器不完全列表(转别)
http://www.cnblogs.com/william_fire/archive/2005/05/15/155800.html最近因为开发需要,要研究一下.NET上基于C#扩展的编译器实现的框架 ...
- google proto buf学习
2019独角兽企业重金招聘Python工程师标准>>> protobuf是Google开发的一个序列化框架,类似XML,JSON,基于二进制,比传统的XML表示同样一段内容要短小得多 ...
- salesforce零基础学习(九十六)Platform Event浅谈
本篇参考:https://developer.salesforce.com/blogs/2018/07/which-streaming-event-do-i-use.html https://trai ...
- Windows 怎么启动 apache
在可执行目录下找到httpd.exe命令,然后运行cmd,执行类似以下命令:C:\"Program Files"\"Apache Software Foundation& ...
- 再谈 PHP 未来之路
前段时间我写过一篇博文<phper:敢问路在何方>,分析了 PHPer 的困境以及 PHP 程序员的学习.进阶突破之路.同时我在知乎上也发过类似的提问.从大家的评论和回答看,大体分为以下几 ...
- python地图投影转换
一.投影包osr与proj4的使用 1.osr投影转换示例 from osgeo import osr,ogr#定义投影#wgs84source=osr.SpatialReference()sourc ...
- C# 基础至集合-数组、List<T>、ArrayList、LinkedList、HashMap的一些区别
1:数组 ]; //赋值 strs[] = "; strs[] = "; //修改 strs[] = "burg"; //删除 没法删除 除非转化为可变数组li ...