Go語言goto語句

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

上一篇: Go語言迴圈 下一篇: Go語言函數