Go 言語には while がありますか?

青灯夜游
リリース: 2023-01-07 14:20:50
オリジナル
4237 人が閲覧しました

Go 言語には while キーワードがなく、while および do-while ループ構造はサポートされていません。機能的に言​​えば、while ステートメントで実行できることはすべて、for ステートメントでも実現できるため、Go 言語では for ステートメントと while ステートメントが統合されています。さらに、Go 開発チームは深刻な潔癖症を持っています。必須のオプションではありませんが、開発者に複数の選択方法が提供されるため、開発者は簡単に迷い、選択が難しくなります。そのため、彼らは単にその機会を与えません。スタイルを選択し、全員に強制的にスタイルを統一させます。

Go 言語には while がありますか?

このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。

Go 言語 には while キーワードはなく、while および do-while ループ構造はサポートされていません。

ループ ステートメントは、特定のプログラムでステートメントを繰り返し実行するために使用されます。

プログラミング言語の一般的なループ ステートメントには、while ステートメント、do-while ステートメント、for ステートメントなどがあります。しかし、Go言語にはfor言語しかなく、while文がありません。機能的に言​​えば、while ステートメントで実行できることはすべて、for ステートメントでも実行できます。そのため、Go言語ではfor文とwhile文を統一しています。

そして、Go 開発チームは重度の潔癖症です。ただし、これは必須のオプションではありません。開発者が選択できる複数の方法が用意されています。開発者は迷いやすく、選択が難しくなります。したがって、単純に与えないでください。選択する機会があり、全員に統一されたスタイルを強制します。

for ステートメント

Go 言語には 3 種類の for ステートメントがあります:

最初のステートメント:

for init; condition; post {
	...	
}
ログイン後にコピー
  • init これは一般に代入式であり、ループ制御変数やその他の変数を初期化するために使用されます。 ######状態 ループ制御の条件を示すために使用される関係式および論理式。 ######役職 これは通常、ループ制御変数を増減するために使用される代入式です。
  • 上記の 3 点は、他のプログラミング言語の for ステートメントに相当するため、最初の書き方は ## に相当します。 #for 他の言語の
  • ステートメント。

2 番目の方法:

for condition {
	...
}
ログイン後にコピー

2 番目の書き方は、他の言語の while

ステートメントと同等です。 Go の for ステートメントには括弧が含まれていないため、
init

post を削除することは while ステートメントと完全に同等です。したがって、Go では while キーワードを導入せず、for ステートメントを直接使用して while ステートメントを実装します。 3 番目の方法:

for {
	...
}
ログイン後にコピー

3 番目の書き方は、他の形式の
for( と同等です。言語 ;;)
while(true)
とも同等です。

例: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false;">package main import &quot;fmt&quot; func main() { res := 1 n := 10 for i:=1; i&lt;=n; i++ { res *= i } fmt.Println(n,&quot;的阶乘是&quot;,res) } // 10 的阶乘是 3628800</pre><div class="contentsignin">ログイン後にコピー</div></div>

for-each range

Go 言語の for ループの範囲この形式では、スライス、マップ、配列、文​​字列、その他の型を反復できます。形式は次のとおりです:

for k, v := range oldMap {
	newMap[k] = v
}
ログイン後にコピー

例:

package main

import "fmt"

func main() {
	nums := [5]int{1, 2, 3, 4, 5}
	for i,e := range nums {
		fmt.Println("索引", i, "位置上的数值为", e)
	}
}

// 索引 0 位置上的数值为 1
// 索引 1 位置上的数值为 2
// 索引 2 位置上的数值为 3
// 索引 3 位置上的数值为 4
// 索引 4 位置上的数值为 5
ログイン後にコピー
同じPython および Go 言語として また、アンダースコア

__

を使用して、不要な戻り値をキャッチします。
for _,e := range nums {
	...
}
ログイン後にコピー

【関連する推奨事項: Go ビデオ チュートリアル

プログラミング教育
]

以上がGo 言語には while がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート