Go语言的 goto 语句可以无条件地转移到程序指定的行,通常与条件语句配合使用。可用来实现条件转移、构成循环、跳出循环体等功能。但是,在结构化程序设计中一般不建议使用 goto 语句,以免造成程序流程的混乱,使理解和调试程序都产生困难。
goto 语句的执行流程如下图所示。
图:goto 语句执行流程
goto 语句的语法格式如下所示。
LABEL: statement
goto LABEL
【示例】借助 goto 跳转来输出 1~50 之间的素数。
package main
import “fmt”
func main() {
var C, c int // 声明变量
C = 1 // 这里不写入 for 循环是因为 for 语句执行之初会将 C 的值变为 1,当 goto A 时 for 语句会重新执行(不是重新一轮循环)
LOOP:
for C < 50 {
C++
for c = 2; c < C; c++ {
if C%c == 0 {
goto LOOP // 若发现因子则不是素数
}
}
fmt.Printf(“%d “, C)
}
}
运行结果如下:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
goto 基本介绍
1) Go 语言的 goto 语句可以无条件地转移到程序中指定的行。
2) goto 语句通常与条件语句配合使用。可用来实现条件转移,跳出循环体等功能。
3) 在 Go 程序设计中一般不主张使用 goto 语句, 以免造成程序流程的混乱,使理解和调试程序 都产生困难
goto 基本语法
goto label
.. .
label: statement
goto 的流程图
快速入门案例
跳转控制语句-return
介绍:
return 使用在方法或者函数中,表示跳出所在的方法或函数,在讲解函数的时候,会详细的介绍。
说明
1) 如果 return 是在普通的函数,则表示跳出该函数,即不再执行函数中 return 后面代码,也可以 理解成终止函数。
2) 如果 return 是在 main 函数,表示终止 main 函数,也就是说终止程序。