goto跳转结构
- goto 可以跳到指定标签所在的位置,执行标签下面的代码
- 如果标签定义了但是没有调用,编译不通过
- 如果标签没有被执行到,定义的标签名会被忽略,但是标签内的代码会在特定情况下被执行;
- goto和label 不建议日常使用
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
if i == 2 {
goto abc
}
if i == 999 {
goto nnn
}
fmt.Println(i)
}
abc:
fmt.Println("这是abc标签内的代码块")
goto xyz
xyz:
fmt.Println("这是xyz标签内的代码块")
nnn:
fmt.Println("nnn标签")
for_goto()
}
func for_goto() {
for i := 0; i < 5; i++ {
fmt.Println(i)
if i == 2 {
goto aaa
}
}
fmt.Println("end for")
aaa:
fmt.Println("进入了aaa标签")
fmt.Println("结束运行")
}