goto:可以无条件地转移到过程中指定的行。
语法结构:
goto label;
..
..
label: statement;

package main
import "fmt"
func main() {
/* 定义局部变量 */
var a int = 10
/* 循环 */
LOOP: for a < 20 {
if a == 15 {
/* 跳过迭代 */
a = a + 1
goto LOOP
}
fmt.Printf("a的值为 : %d\n", a)
a++
}
}
统一错误处理 多处错误处理存在代码重复时是非常棘手的,例如:
err := firstCheckError()
if err != nil {
goto onExit
}
err = secondCheckError()
if err != nil {
goto onExit
}
fmt.Println("done")
return
onExit:
fmt.Println(err)
exitProcess()
本文探讨了Goto语句在Go语言中的应用,包括无条件转移过程、循环控制以及统一错误处理的场景。通过具体示例,展示了如何使用Goto语句跳过迭代、处理多处错误,避免代码重复。
369

被折叠的 条评论
为什么被折叠?



