Go でのハッシュ マップの複合キーの作成
Go では、ハッシュ マップの複合キーを定義するには、複数の値を組み合わせて、ユニークなキー。この手法は、x と y が整数である pow(x, y) の値を計算して保存するなど、複数のパラメーターに基づいてデータにインデックスを付ける場合に役立ちます。
Solution
最も簡単なアプローチは、必要な要素を組み込んだ複合キーを表す構造体を作成することです。フィールド:
type Key struct { X, Y int }
この構造体は、ハッシュ マップ内の各エントリを一意に識別するために使用できる 2 つの整数フィールド X と Y を持つキーを定義します。
m := map[Key]int{} m[Key{2, 2}] = 4 m[Key{2, 3}] = 8 fmt.Println("2^2 = ", m[Key{2, 2}]) fmt.Println("2^3 = ", m[Key{2, 3}])
これを使用するstruct をキー タイプとして使用すると、マップ内の各エントリが X 値と Y 値に基づいて一意に識別可能になります。これにより、複合キーを使用して、対応する格納値を効率的に取得できるようになります。
重要な考慮事項
キー タイプとしてポインターを使用することは避けるべきであることに注意することが重要です。実際の値ではなくメモリアドレスを比較します。さらに、配列はキーの型として利用できますが、構造体ほど汎用性がありません。
以上がGoでハッシュマップの複合キーを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。