5.6 标签与 goto
...小于 1 分钟
5.6 标签与 goto
特别注意 使用标签和 goto
语句是不被鼓励的:它们会很快导致非常糟糕的程序设计,而且总有更加可读的替代方案来实现相同的需求。
for
、switch
或 select
语句都可以配合标签 (label) 形式的标识符使用,即某一行第一个以冒号 (:
) 结尾的单词(gofmt 会将后续代码自动移至下一行)。
func labelInFor() {
LABEL1:
for i := 0; i <= 2; i++ {
for j := 0; j <= 2; j++ {
if j == 2 {
continue LABEL1
}
fmt.Printf("i is: %d, and j is: %d\n", i, j)
}
}
}
i is: 0, and j is: 0
i is: 0, and j is: 1
i is: 1, and j is: 0
i is: 1, and j is: 1
i is: 2, and j is: 0
i is: 2, and j is: 1
使用 goto
模拟循环
func main() {
i:=0
HERE:
print(i)
i++
if i==5 {
return
}
goto HERE
}
Powered by Waline v2.15.2