跳转控制

break

基本介绍

break语句可以终止某个语句块的执行,用于中断for循环或跳出switch语句。

基本语法

{

break

}

入门案例

  1. // 演示 break 语句 中断 for 循环控制语句
  2. // 需求: 当随机数i=999时, 打印"恭喜你成为超级幸运玩家!"
  3. package main
  4. import (
  5. "fmt"
  6. "math/rand"
  7. "time"
  8. )
  9. func main() {
  10. for {
  11. rand.Seed(time.Now().UnixNano()) // 以时间戳作为随机数种子
  12. i := rand.Intn(1000) // 随机生成0-1000之间的整数
  13. fmt.Println(i)
  14. if i == 999 {
  15. fmt.Println("恭喜你成为超级幸运玩家!")
  16. break
  17. }
  18. }
  19. }

流程图解

跳转控制 - 图1

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) } } }

  1. <a name="AcuQ3"></a>
  2. ### continue
  3. <a name="qBdh4"></a>
  4. #### 基本介绍
  5. continue语句用于结束本次循环,直接执行下一次循环
  6. <a name="qF4lQ"></a>
  7. #### 基本语法
  8. **{ **<br />**...**<br />**continue**<br />**...**<br />**}**
  9. <a name="ECtBT"></a>
  10. #### 入门案例
  11. ```go
  12. // 演示 continue 语句 跳转 for 循环控制语句
  13. package main
  14. import "fmt"
  15. func main() {
  16. for i := 0; i <= 4; i++ {
  17. for j := 0; j <= 10; j++ {
  18. if j == 2 {
  19. continue
  20. }
  21. fmt.Println("j", j)
  22. }
  23. }
  24. }

流程图解

跳转控制 - 图2

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) } } }

  1. <a name="KOlZ1"></a>
  2. ### goto
  3. <a name="LwIQw"></a>
  4. #### 基本介绍
  5. - Go语言的goto可以无条件的跳转到程序中指定的行
  6. - goto语句通常和条件语句配合使用,可用于实现条件转移、跳出循环体等功能
  7. - 在Go语言程序设计中一般不主张使用goto语句,以免造成程序流程的混乱,阻碍理解、调试程序
  8. <a name="Uxkse"></a>
  9. #### 基本语法
  10. **goto label**<br />**...**<br />**label: statement**
  11. <a name="WBwc0"></a>
  12. #### 入门案例
  13. ```go
  14. // 演示 goto 跳转控制语句
  15. package main
  16. import "fmt"
  17. var i int64
  18. func main() {
  19. fmt.Println("请输入一个整数")
  20. fmt.Scan(&i)
  21. if i <= 20 {
  22. fmt.Println("start exec goto label")
  23. goto label_1
  24. }
  25. fmt.Println("ok_01")
  26. fmt.Println("ok_02")
  27. fmt.Println("ok_03")
  28. label_1:
  29. fmt.Println("ok_04")
  30. fmt.Println("ok_05")
  31. fmt.Println("ok_06")
  32. }
  1. // 演示 goto 跳出for循环
  2. package main
  3. import "fmt"
  4. func main() {
  5. for i := 1; i <= 20; i++ {
  6. if i == 10 {
  7. fmt.Println("start exec goto label")
  8. goto label
  9. }
  10. fmt.Println(i)
  11. }
  12. label:
  13. fmt.Println("哈哈哈")
  14. }

流程图解

跳转控制 - 图3

return

基本介绍

return使用在方法或函数中,表示跳出所在的方法或函数。

  • 如果return位于普通的函数中,则表示跳出函数,则表示跳出该函数,即不再执行函数中的return之后的代码,也可以理解成终止函数
  • 如果return位于main函数中,则表示终止man函数,即终止程序

基本语法


return

入门案例

  1. // 演示 return 跳转控制语句
  2. package main
  3. import "fmt"
  4. func main() {
  5. for i := 1; i <= 20; i++ {
  6. if i == 10 {
  7. return
  8. }
  9. fmt.Println(i, "ok_01")
  10. }
  11. fmt.Println("ok_02")
  12. }