Go の For ループ初期化で変数の型を明示的に宣言できますか?

Barbara Streisand
リリース: 2024-11-24 10:53:13
オリジナル
293 人が閲覧しました

Can I Explicitly Declare Variable Types in Go's For Loop Initialization?

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

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート