複製Go 中do-while 循環的行為
Do-while 循環通常用於Java 等語言,執行一個區塊直到滿足特定條件為止。雖然 Go 缺乏明確的 do-while 語法,但還有其他方法可以實現此行為。
考慮提供的範例:一個提供使用者再次運行或退出選項的程式。可以使用 for 迴圈和 switch-case 結構的組合來複製此場景。
理解原始程式碼
提供的程式碼包括一個以 var 開頭的 for 迴圈i = 1 並使用 i > 0作為循環條件。然而,這會創造一個無限循環,因為 i 在循環內永遠不會被修改。
模擬 do-while 行為
在 Go 中,您可以使用以下方式模擬 do-while 迴圈帶有以 true 初始化的布林循環變數的 for 迴圈。此循環將繼續執行,直到循環變數變為 false。
以下是使用此方法實作範例的程式碼片段:
var input int for ok := true; ok; ok = (input != 2) { // ... (same logic as before, options 1, 2, default case) }
在此程式碼中,ok 是布林循環變數。它會一直保持 true,直到使用者輸入值 2(表示希望退出程式),此時它將變為 false 並退出循環。
使用明確循環退出的優點
雖然do-while 模擬可能很有用,但通常認為在滿足特定條件時使用帶標籤的break、return 或os.Exit 語句來終止迴圈更明確且可維護。這種方法可以實現更清晰的控制流程,並避免潛在的混亂或隱藏循環條件。
以上是如何在 Go 中複製 do-while 迴圈的行為?的詳細內容。更多資訊請關注PHP中文網其他相關文章!