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 ...
随机推荐
- 深入理解Java枚举
深入理解Java枚举 重新认识Java枚举 老实说,挺羞愧的,这么久了,一直不知道Java枚举的本质是啥,虽然也在用,但是真不知道它的底层是个啥样的 直到2020年4月28日的晚上20点左右,我才真的 ...
- mysql错误代码对照表较完整
mysql错误代码对照表较完整 mysql_errno() From: http://blog.csdn.net/aidenliu/article/details/5925604 mysql错误代码对 ...
- java 之 学习过程中遇到的大佬博客
大佬1号:zejian 博客:https://blog.csdn.net/javazejian
- mac OS mysql新建数据库运行sql文件
mysql -uroot -proot123 进入本地数据库 create database 数据库名; use 数据库名; source 文件路径 quit 退出
- 1月份中国综合PMI指数为53.2% 企业生产经营活动总体增速加快
中新社北京1月31日电 (记者 王恩博)中国国家统计局31日发布数据显示,2019年1月份,中国综合PMI产出指数为53.2%,比上月上升0.6个百分点,表明中国企业生产经营活动总体增速加快. 其中, ...
- Netty(六):NioServerSocketChannel源码解析
我们在Netty学习系列五的最后提出了一些问题还没得到回答,今天来通过学习NioServerSocketChannel的源码来帮我们找到之前问题的答案. 先看一下NioServerSocketChan ...
- 【阅读笔记】Ranking Relevance in Yahoo Search (一)—— introduction & background
ABSTRACT: 此文在相关性方面介绍三项关键技术:ranking functions, semantic matching features, query rewriting: 此文内容基于拥有百 ...
- C++入门编程题目 NO.1
题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. #incl ...
- 数学--数论--HDU 5382 GCD?LCM?(详细推导,不懂打我)
Describtion First we define: (1) lcm(a,b), the least common multiple of two integers a and b, is the ...
- Floyd —Warshall(最短路及其他用法详解)
一.多元最短路求法 多元都求出来了,单源的肯定也能求. 思想是动态规划的思想:从任意节点A到任意节点B的最短路径不外乎2种可能,1是直接从A到B,2是从A经过若干个节点X到B.所以,我们假设Dis(A ...