For ループの初期化ステートメントでの変数宣言
Go では、for ループの構文により初期化で変数を宣言できます。声明。ただし、この宣言は特定の形式に従う必要があります。
for var i int64 = 0; など、初期化ステートメントで変数を特定の型で宣言できないのはなぜかという疑問が生じます。私は< 10;私 {}。代わりに、コードでは別個の変数宣言 (var i int64) に続いて代入ステートメント (i = 0) が必要です。
for ループの言語仕様では、init ステートメントは短い変数宣言のみであることが説明されています。これは、i := 0 という形式の代入です。var.
を使用した完全な変数宣言にすることはできません。この制限は、言語を単純にするという要望から生じていると考えられます。初期化ステートメントを短い変数宣言に限定することで、構文がより簡潔になり、混乱が少なくなります。
ただし、初期化ステートメントで特定の型の変数を宣言する回避策があることに注意してください。これは、明示的な型変換を使用して行うことができます。
for i := int64(0); i < 10; i++ { // i here is of type int64 }
この例では、変数 i は初期化ステートメントで明示的に int64 型にキャストされます。
以上がGo For ループの初期化ステートメントで型付き変数を宣言できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。