goto语句
golang语言规范
“goto” 语句将控制权转移到同一函数中带有相应标签的语句。
GotoStmt = "goto" Label .
goto Error
执行 “goto”语句不能导致在goto之后有任何变量进入它还没有进行的范围。例如,这个例子:
goto L // BAD
v := 3
L:
是错误的,因为跳转到标签L时跳过了v的创建。
块外的 “goto”语句不能跳转到该块内的标签。例如,这个例子:
if n%2 == 1 {
goto L1
}
for n > 0 {
f()
n--
L1:
f()
n--
}
是错误的,因为标签L1在 “for”语句的块内,而goto却不在。