GO 中有三个跳转语句 goto、break、continue 但功能是不一样有所区别:
1、break 跳出后不会再进入循环
func main() {
L:
for i := 0; i < 10; i++ {
for {
fmt.Println(i)
break L
}
}
}
输出:0
2、continue 跳出后会在进入循环,但不执行初始化
func main() {
L:
for i := 0; i < 10; i++ {
for {
fmt.Println(i)
continue L
}
}
}
输出:0 1 2 3 4 5 6 7 8 9
3、goto 则是调整执行位置,相当于代码跳到L的位置再次执行
func main() {
L:
for i := 0; i < 10; i++ {
for {
fmt.Println(i)
goto L
}
}
}
输出:0 0 0 0 0 ...