ホームページ  >  記事  >  バックエンド開発  >  Go で do-while ループの動作を複製するにはどうすればよいですか?

Go で do-while ループの動作を複製するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-11 18:15:03989ブラウズ

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

Do-while ループの動作を Go で複製する

Do-while ループは Java などの言語で一般的に使用され、次のブロックを実行します。特定の条件が満たされるまでコードを書き続けます。 Go には明示的な do-while 構文がありませんが、この動作を実現する別の方法があります。

提供された例を考えてみましょう。再実行または終了のオプションをユーザーに提示するプログラムです。このシナリオは、for ループと switch-case 構造の組み合わせを使用して複製できます。

元のコードを理解する

提供されたコードには、var で始まる for ループが含まれています。 i = 1 であり、i > を使用します。ループ条件として0を指定します。ただし、ループ内で i が変更されることはないため、無限ループが作成されます。

do-while 動作のエミュレーション

Go では、次を使用して do-while ループをエミュレートできます。 true で初期化されたブール ループ変数を含む for ループ。このループは、ループ変数が false になるまで実行を続けます。

このアプローチを使用した例を実装するコード スニペットを次に示します。

このコードでは、ok はブール型ループ変数です。ユーザーが値 2 (プログラムを終了することを示す) を入力するまで true のままですが、その時点で false になり、ループを終了します。

明示的ループ終了を使用する利点

do-while エミュレーションは便利ですが、一般に、特定の条件が満たされたときにループを終了するには、ラベル付きの Break、Return、または os.Exit ステートメントを使用する方が明示的で保守しやすいと考えられています。このアプローチにより、より明確な制御フローが可能になり、潜在的な混乱や隠れたループ状態が回避されます。

以上がGo で do-while ループの動作を複製するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。