首頁  >  文章  >  後端開發  >  如何在 Go 中複製 do-while 迴圈的行為?

如何在 Go 中複製 do-while 迴圈的行為?

Patricia Arquette
Patricia Arquette原創
2024-11-11 18:15:031030瀏覽

How Can I Replicate the Behavior of a do-while Loop in Go?

複製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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn