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语言函数