标签和跳转
标签的语法是:
Lable :
goto
goto 语句用于函数的内部的跳转
var a int = 2
LOOP:
for a < 5 {
if a == 3 {
a = a + 1
goto LOOP
}
fmt.Printf("a= : %d\n", a)
a++
}
a= : 2
a= : 4
goto 语句不能跳过内 部变量声明语句
goto Lable1
a := 1
Lable1:
fmt.Println(a)
goto Lable1 jumps over declaration of a
goto 语句句只能跳到同级作用域或者上层作用域内,不能跳到内部作用域内
break语句
可以跳出对应标签的循环
Label1:
for i := 0; i < 10; i++ {
for j := 0; j < 10; j++ {
break Label1
fmt.Println(i, j)
}
}
continue语句
continue 用于跳出 for 循环的本次选代,跳到 for 循环的下一次选代的 post 语句处执行
Label1:
for i := 0; i < 2; i++ {
for j := 0; j < 2; j++ {
if j == 1 {
continue Label1
}
fmt.Println(i, j)
}
}
输出
0 0
1 0