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