Go語言流程控制之goto語句與無限循環(huán)
goto語句
在Go編程語言中的goto語句提供無條件跳轉(zhuǎn)從跳轉(zhuǎn)到標記聲明的功能。
注意:使用goto語句是高度勸阻的在任何編程語言,因為它使得難以跟蹤程序的控制流程,使程序難以理解,難以修改。使用一個goto任何程序可以改寫,以便它不需要goto。
語法
轉(zhuǎn)到goto語句的語法如下:
goto label;
..
.
label: statement;
在這里,標簽(label)可以是除去關鍵字任何純文本,它可以在任何地方設置在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++
}
}
讓我們編譯和運行上面的程序,這將產(chǎn)生以下結(jié)果:
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
無限循環(huán)
一個循環(huán)變得無限循環(huán),如果條件永遠不會為假。 for循環(huán)是傳統(tǒng)上用于此目的。由于沒有形成for循環(huán)是必需的三個表達式中,可以通過離開條件,使用空表達式或傳遞true給它形成一個死循環(huán)。
package main
import "fmt"
func main() {
for true {
fmt.Printf("This loop will run forever.\n");
}
}
當條件表達式為不存在,它被假定為真。你可能有一個初始化和增量的表達,但C程序員更普遍使用for(;;)結(jié)構(gòu)來表示一個無限循環(huán)。
注意:您可以通過按Ctrl+ C鍵終止無限循環(huán)。
相關文章
詳解如何使用go-acme/lego實現(xiàn)自動簽發(fā)證書
這篇文章主要為大家詳細介紹了如何使用?go-acme/lego?的客戶端或庫完成證書的自動簽發(fā),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2024-03-03