go goto用法
使用建议
尽量不要使用goto,因为会引起逻辑混乱,但是如果其他的逻辑控制都不满足你的需求,goto也是一种方法。
基本使用
代码示例:
goto label1
return
label1:
fmt.Println("仙人抚我顶")
测试结果:
=== RUN Test_基本使用
仙人抚我顶
--- PASS: Test_基本使用 (0.00s)
PASS
lable当然也可以在关键字goto前定义:
goto label1
label2:fmt.Println("邀我共长生")
return
label1:
fmt.Println("仙人抚我顶")
goto label2
=== RUN Test_基本使用
仙人抚我顶
邀我共长生
--- PASS: Test_基本使用 (0.00s)
PASS
使用限制
goto关键后的标签,必须在同一函数内
goto1:
fmt.Println(1)
f := func() {
fmt.Println("仙人抚我顶")
// goto的lable需要在本函数内
goto goto1
}
.\goto_test.go:10:1: label goto1 defined and not used
.\goto_test.go:16:8: label goto1 not defined