goto语句
一条goto语句可以无条件地转移到指定的标签语句上,for、switch 或 select 语句都可以配合标签(label)形式的标识符使用,即某一行第一个以冒号(:)结尾的单词。
标签的名称是大小写敏感的,为了提升可读性,一般建议使用全部大写字母.
import "fmt"
func main() {
i := 0
LABEL:
fmt.Print(i)
i++
if i == 10 {
return
}
goto LABEL
}
输出结果:0123456789
我个人建议如果不是写底层的程序,尽量不要使用goto语句,使用goto语句会让你的程序易读性差。
还有一点需要注意一个块外的goto语句不能跳到块的内部.
func main() {
i := 0
LABEL:
fmt.Print(i)
i++
if i == 10 {
L2:
fmt.Println("ok")
return
}
goto L2
}
编译的时候会提示:goto L2 jumps into block starting at .\pro05_5_1.go:10