天天看點

java中goto用法源代碼_Go語言流程控制之goto語句與無限循環

goto語句

在Go程式設計語言中的goto語句提供無條件跳轉從跳轉到标記聲明的功能。

注意:使用goto語句是高度勸阻的在任何程式設計語言,因為它使得難以跟蹤程式的控制流程,使程式難以了解,難以修改。使用一個goto任何程式可以改寫,以便它不需要goto。

文法

轉到goto語句的文法如下:

goto label;

..

.

label: statement;

在這裡,标簽(label)可以是除去關鍵字任何純文字,它可以在任何地方設定在Go程式的上方或下方,以使用goto語句。

流程圖:

java中goto用法源代碼_Go語言流程控制之goto語句與無限循環

例子:

package main

import "fmt"

func main() {

var a int = 10

LOOP: for a < 20 {

if a == 15 {

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

無限循環

一個循環變得無限循環,如果條件永遠不會為假。 for循環是傳統上用于此目的。由于沒有形成for循環是必需的三個表達式中,可以通過離開條件,使用空表達式或傳遞true給它形成一個死循環。

package main

import "fmt"

func main() {

for true  {

fmt.Printf("This loop will run forever.\n");

}

}

當條件表達式為不存在,它被假定為真。你可能有一個初始化和增量的表達,但C程式員更普遍使用for(;;)結構來表示一個無限循環。

注意:您可以通過按Ctrl+ C鍵終止無限循環。