ホームページ >バックエンド開発 >Golang >Go ではキー付き配列の初期化はどのように機能しますか?

Go ではキー付き配列の初期化はどのように機能しますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-14 19:49:11142ブラウズ

How Does Keyed Array Initialization Work in Go?

Golang でのキー付き配列の初期化

Golang では、配列の初期化によりキーを使用して要素のインデックスを指定できます。インデックスを直接設定するのとは異なり、キーを使用すると、いくつかの利点と使用例が得られます。

使用例:

  • コンパクト初期化:
    配列に多数のゼロ値があり、少数の非ゼロ値しかない場合、キー付き初期化では非ゼロ値のみを指定することでコード長を削減できます。
  • 要素のスキップ:
    キーを使用すると、配列の連続した部分を「ジャンプ」して、スキップされた要素をゼロ値のままにすることができます。
  • 最初の要素と長さの指定:
    希望の長さを指定しながら、配列の最初のいくつかの要素を定義できます。 (最大インデックス 1) キー付き初期化を使用します。

ルール:

配列リテラルでのキー付き初期化の構文は次のとおりです: [element_key1: element_value1, ...] 、要素キー N: 要素値 N]。キーは定数の整数式である必要があります。

キーを持つ要素には、キーによってインデックスが割り当てられます。キーのない要素は、最初の要素のゼロから始まる前の要素のインデックスを継承します。

例:

配列について考えてみましょう: a := [... ]int{5, 4: 1, 0, 2: 3, 2, 1: 4}.

  • 5 はインデックス 0 に割り当てられます。
  • 1 はインデックス 4 に割り当てられます。
  • 0 はインデックス 5 に割り当てられます。
  • 3 はインデックス 2 に割り当てられます。
  • 2 はインデックスに割り当てられます3.
  • 4 はインデックス 1 に割り当てられます。

結果は、予想どおり [5 4 3 2 1 0] です。

追加の考慮事項:

複合リテラルでは、配列内の要素にオプションのキーを使用できます。スライス。配列では明示的な長さを指定する必要がありますが、スライスでは長さを省略することができます。その場合、長さは指定された要素の数から推測されます。

以上がGo ではキー付き配列の初期化はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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