ホームページ >バックエンド開発 >Golang >Go の For ループの初期化で変数を宣言するために `var` を使用できないのはなぜですか?

Go の For ループの初期化で変数を宣言するために `var` を使用できないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-25 19:47:10517ブラウズ

Why Can't I Use `var` to Declare Variables in Go's For Loop Initialization?

For ループの初期化ステートメントでの変数の初期化

なぜ for ループの初期化ステートメントで短縮表現 i を使用して変数を宣言できるのか疑問に思っています。 = 0 ですが、var i = 0 ではダメですか?

Go プログラミング言語仕様では、for ループ内の初期化ステートメントに短い変数宣言 (i := 0) を含めることができると規定しています。これは、単一のステートメントで変数を宣言し、初期値を割り当てるための簡潔な方法です。ただし、このコンテキストでは、var を使用した完全な変数宣言は許可されていません。

この設計選択の理由は、言語の構文を単純かつ一貫したものに保つためと考えられます。 for ループはシーケンスの反復処理によく使用され、省略表記によりループ内で変数の初期化と代入を効率的に行うことができます。

初期化ステートメントでの var の使用には制限がありますが、変数を宣言する他の方法もあります。特定のタイプを指定してループ内で使用します。たとえば、ループの外で変数を宣言できます:

var i int64 = 0
for ; i < 10; i++ {
  // ...
}

または、初期化中に変数をキャストできます:

for i := int64(0); i < 10; i++ {
  // i is now of type int64
}

以上がGo の For ループの初期化で変数を宣言するために `var` を使用できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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