Go语言自学系列 | golang流程控制关键字goto

312 阅读1分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路

视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客\


goto语句通过标签进行代码间的无条件跳转。goto语句可以在快速跳出循环、避免重复退出上有一定的帮助。Go语言中使用goto语句能简化一些代码的实现过程。 例如双层嵌套的for循环要退出时:

go语言关键字goto实例

跳转到指定标签

package main

import "fmt"

func f() {
    a := 0
    if a == 1 {
        goto LABEL1
    } else {
        fmt.Println("other")
    }

LABEL1:
    fmt.Printf("next...")
}
func main() {
    f()
}

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
other
next...

跳出双重循环

package main

import "fmt"

func f() {
    for i := 0; i < 5; i++ {
        for j := 0; j < 5; j++ {
            if i == 2 && j == 2 {
                goto LABEL1
            }
        }
    }
LABEL1:
    fmt.Println("label1")
}

func main() {
    f()
}

运行结果

[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go"
label1

\