在Go 中複製do while 循環
在Go 中,沒有與許多其他程式語言中的do while 循環直接等效的東西。然而,有一些方法可以實現類似的功能。一種方法是使用 for 循環,並將布林循環變數初始化為 true。
以下程式碼示範如何在 Go 中模擬 do while 迴圈:
for ok := true; ok; ok = EXPR { // Code to be executed }
此迴圈將繼續執行程式碼區塊,直到表達式 EXPR 的計算結果為 false。在原始問題的上下文中,此表達式將表示使用者輸入是否與所需的退出條件相符。
以下是所提供程式碼的修改版本,可正確實現所需的功能:
func sample() { for ok := true; ok; ok = (input != 2) { fmt.Println("Press 1 to run") fmt.Println("Press 2 to exit") var input int fmt.Scanln(&input) switch input { case 1: fmt.Println("hi") case 2: // Exit the program os.Exit(2) default: fmt.Println("def") } } }
在此程式碼中,循環一直持續到使用者輸入 2(登出)。如果輸入為1,則執行“hi”語句。如果輸入是其他內容,它將執行“def”語句。
請注意,您可以將 os.Exit(2) 替換為明確呼叫 return 以提前退出函數。
以上是如何在 Go 中模擬 Do While 迴圈?的詳細內容。更多資訊請關注PHP中文網其他相關文章!