1) Go 语言的 goto 语句可以无条件地转移到程序中指定的行。
2) goto 语句通常与条件语句配合使用。可用来实现条件转移,跳出循环体等功能。
3) 在 Go 程序设计中一般不主张使用 goto 语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。
实例如下:
func main() {
lable1 :
for k := 0 ; k < 3 ; k++ {
fmt.Printf("1层循环。。。。%d \n", k)
if k == 1 {
goto lable1;
}
}
}
运行后输出如下:会一直循环输出下面的信息。goto 跳到 lable1标签后会按照顺序执行lable1下面的代码。也就是程序流程跳转到lable1。
1层循环。。。。0
1层循环。。。。1
可以往程序下面跳转,例子如下:
for k := 0 ; k < 3 ; k++ {
fmt.Printf("1层循环。。。。%d \n", k)
if k == 1 {
goto lable1;
}
}
lable1 :
fmt.Printf("end....")
输出结果:
1层循环。。。。0
1层循环。。。。1
end....