跳转控制
break
基本介绍
break语句可以终止某个语句块的执行,用于中断for循环或跳出switch语句。
基本语法
{
…
break
…
}
入门案例
// 演示 break 语句 中断 for 循环控制语句
// 需求: 当随机数i=999时, 打印"恭喜你成为超级幸运玩家!"
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
for {
rand.Seed(time.Now().UnixNano()) // 以时间戳作为随机数种子
i := rand.Intn(1000) // 随机生成0-1000之间的整数
fmt.Println(i)
if i == 999 {
fmt.Println("恭喜你成为超级幸运玩家!")
break
}
}
}
流程图解
break 标签
break语句出现在多层嵌套循环中时,可以通过标签来指定要终止的是哪一层循环
- 标签名称可以自定义(例如: L1、label、label_1等等)
- 如果没有使用break标签,默认会跳出最近的for循环 ```go // 演示 break 标签 中断 for 循环控制语句 package main
import “fmt”
func main() { label_1: for i := 0; i <= 4; i++ { //label_2: for j := 0; j <= 10; j++ { if j == 2 { break label_1 //break label_2 } fmt.Println(“j”, j) } } }
<a name="AcuQ3"></a>
### continue
<a name="qBdh4"></a>
#### 基本介绍
continue语句用于结束本次循环,直接执行下一次循环
<a name="qF4lQ"></a>
#### 基本语法
**{ **<br />**...**<br />**continue**<br />**...**<br />**}**
<a name="ECtBT"></a>
#### 入门案例
```go
// 演示 continue 语句 跳转 for 循环控制语句
package main
import "fmt"
func main() {
for i := 0; i <= 4; i++ {
for j := 0; j <= 10; j++ {
if j == 2 {
continue
}
fmt.Println("j", j)
}
}
}
流程图解
continue 标签
continue语句出现在多层嵌套循环中时,可以通过标签来指定要跳转的是哪一层循环
- 标签名称可以自定义(例如: L1、label、label_1等等)
- 如果没有使用continue标签,默认会跳转到最近的for循环 ```go // 演示 continue 语句 跳转 for 循环控制语句 package main
import “fmt”
func main() { label_1: for i := 0; i <= 4; i++ { //label_2: for j := 0; j <= 10; j++ { if j == 2 { continue label_1 //continue label_2 } fmt.Println(“j”, j) } } }
<a name="KOlZ1"></a>
### goto
<a name="LwIQw"></a>
#### 基本介绍
- Go语言的goto可以无条件的跳转到程序中指定的行
- goto语句通常和条件语句配合使用,可用于实现条件转移、跳出循环体等功能
- 在Go语言程序设计中一般不主张使用goto语句,以免造成程序流程的混乱,阻碍理解、调试程序
<a name="Uxkse"></a>
#### 基本语法
**goto label**<br />**...**<br />**label: statement**
<a name="WBwc0"></a>
#### 入门案例
```go
// 演示 goto 跳转控制语句
package main
import "fmt"
var i int64
func main() {
fmt.Println("请输入一个整数")
fmt.Scan(&i)
if i <= 20 {
fmt.Println("start exec goto label")
goto label_1
}
fmt.Println("ok_01")
fmt.Println("ok_02")
fmt.Println("ok_03")
label_1:
fmt.Println("ok_04")
fmt.Println("ok_05")
fmt.Println("ok_06")
}
// 演示 goto 跳出for循环
package main
import "fmt"
func main() {
for i := 1; i <= 20; i++ {
if i == 10 {
fmt.Println("start exec goto label")
goto label
}
fmt.Println(i)
}
label:
fmt.Println("哈哈哈")
}
流程图解
return
基本介绍
return使用在方法或函数中,表示跳出所在的方法或函数。
- 如果return位于普通的函数中,则表示跳出函数,则表示跳出该函数,即不再执行函数中的return之后的代码,也可以理解成终止函数
- 如果return位于main函数中,则表示终止man函数,即终止程序
基本语法
…
return
…
入门案例
// 演示 return 跳转控制语句
package main
import "fmt"
func main() {
for i := 1; i <= 20; i++ {
if i == 10 {
return
}
fmt.Println(i, "ok_01")
}
fmt.Println("ok_02")
}