ホームページ >バックエンド開発 >Golang >Go For ループの初期化ステートメントで型付き変数を宣言できないのはなぜですか?

Go For ループの初期化ステートメントで型付き変数を宣言できないのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-28 06:12:14395ブラウズ

Why Can't I Declare a Typed Variable in a Go For Loop's Initialization Statement?

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

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