Do While 循環在 Go 中的複製
在 Go 中,while 迴圈的概念與 Java 的 do while 迴圈沒有直接關聯。但是,有一些方法可以使用 Go 中提供的其他循環結構來模擬 do while 迴圈的功能。
讓我們深入研究您提供的程式碼範例:
var i = 1 for i > 0 { fmt.Println("Press 1 to run") fmt.Println("Press 2 to exit") var input string inpt, _ := fmt.Scanln(&input) switch inpt { case 1: fmt.Println("hi") case 2: os.Exit(2) default: fmt.Println("def") } }
您的程式碼已鎖定無論輸入如何,都處於無限循環中,因為循環條件 i > 0 始終為真。要模擬 do while 行為,您需要使用不同的循環結構,僅在執行循環體後檢查循環條件。
這是實現所需功能的程式碼的修改版本:
var input int for { fmt.Println("Press 1 to run") fmt.Println("Press 2 to exit") n, err := fmt.Scanln(&input) if n < 1 || err != nil { fmt.Println("Invalid input") break } switch input { case 1: fmt.Println("hi") case 2: fmt.Println("Exiting...") return default: fmt.Println("Invalid input") } }
在此程式碼中:
此程式碼提供了執行循環體的所需行為,直到使用者明確選擇退出。
以上是如何在 Go 中複製 Do While 迴圈?的詳細內容。更多資訊請關注PHP中文網其他相關文章!