Go语言 goto语句

Go语言 goto语句 - 图1

Go语言的goto语句可以无条件地转移到过程中指定的行。

goto语句通常与条件语句配合使用。可用来实现条件转移,构成循环,跳出循环体等功能。

但是,在结构化程序设计中一般不主张使用 goto语句,以免造成程序流程的混乱,使理解和调试程序都产生困难。

 

1. goto语句的语法

goto 语法格式如下:

goto label;
...
label: statement;

goto语句流程图如下:

Go语言 goto语句 - 图2

 

2. goto语句的范例

在变量 a 等于 15 的时候跳过本次循环并回到循环的开始语句 LOOP 处:

package main
import "fmt"

func main() {
   /* 定义局部变量 */
   var a int = 10

   /* 循环 */
   LOOP: for a < 20 {
      if a == 15 {
         /* 跳过迭代 */
         a = a + 1
         goto LOOP
      }
      fmt.Printf("a的值为 : %d\n", a)
      a++    
   }  
}

以上范例执行结果为:

a的值为 : 10
a的值为 : 11
a的值为 : 12
a的值为 : 13
a的值为 : 14
a的值为 : 16
a的值为 : 17
a的值为 : 18
a的值为 : 19

Go语言 if语句:if语句由布尔表达式后紧跟一个或多个语句组成。Go语言中 if语句的语法如下: if 布尔表达式,在布尔表达式为 true 时,其后紧跟的语句块执行,如果为 false 则不执行。