Go編程語言中的goto
語句提供了從goto
到相同函數中的帶標籤語句的無條件跳轉。
注意:在許多編程語言中都不建議使用
goto
語句,因為它很難跟蹤程式的控制流程,使得程式難以理解和難以修改。任何使用goto
的程式都可以重寫,因此不需要goto
。
Go中的goto
語句的語法如下:
goto label;
..
.
label: statement;
這裏的標籤(label
)可以是任何純文本,除了Go關鍵字,它可以設置在Go程式中的任何地方:上面或下麵使用goto
語句。
流程圖
示例
package main
import "fmt"
func main() {
/* local variable definition */
var a int = 10
/* do loop execution */
LOOP: for a < 20 {
if a == 15 {
/* skip the iteration */
a = a + 1
goto LOOP
}
fmt.Printf("value of a: %d\n", a)
a++
}
}
當上述代碼編譯和執行時,它產生以下結果:
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19