Go では、for ループの初期化ステートメントで変数を宣言するときに、一般的な誤解が発生します。変数の型を明示的に指定しようとしています。この構文では、代入形式 i := 0 で示される短い変数宣言が許可されていますが、var i = 0 を使用した明示的な型宣言は禁止されています。
この制限に対処するには、変数を外部で宣言する必要があります。 for ループの例:
var i int64 for i = 0; i < 10; i++ { // i is of type int64 here }
この制限は、初期化ステートメントには次のようなものしか含めることができないという言語仕様に由来しています。 := 演算子を使用した短い変数宣言。
ただし、初期化ステートメントで型キャストを使用することで、この制限を回避することができます。
for i := int64(0); i < 10; i++ { // i is of type int64 here }
この例では、int64( ) 関数は、リテラル 0 を目的の型にキャストします。単純な場合にはこの方法で十分かもしれませんが、複雑な式や値をキャストする場合には予期しない動作が発生する可能性があります。したがって、明確さを維持し、潜在的な落とし穴を避けるために、for ループの外側で特定の型の変数を宣言することをお勧めします。
以上がGo の For ループ初期化で変数の型を明示的に宣言できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。