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 サイトの他の関連記事を参照してください。