ホームページ > バックエンド開発 > Golang > Goでハッシュマップの複合キーを作成するにはどうすればよいですか?

Goでハッシュマップの複合キーを作成するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-09 06:50:02
オリジナル
464 人が閲覧しました

How to Create Composite Keys for Hash Maps in Go?

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

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