目录

5.5 goto 语句

优质
小牛编辑
118浏览
2023-12-01

goto语句

一条goto语句可以无条件地转移到指定的标签语句上,for、switch 或 select 语句都可以配合标签(label)形式的标识符使用,即某一行第一个以冒号(:)结尾的单词。

标签的名称是大小写敏感的,为了提升可读性,一般建议使用全部大写字母.



import "fmt"

func main() {
    i := 0
LABEL:
    fmt.Print(i)
    i++
    if i == 10 {
        return
    }
    goto LABEL
}

pro05_5_1.go

输出结果: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