Go語言goto語句

2019-10-16 23:16:22

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