構造体を効果的に使用して Go マップで複合キーを作成するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-10 04:12:03
オリジナル
223 人が閲覧しました

How can I effectively use structs to create composite keys in Go maps?

Go マップで複合キーに構造体を使用する

Go では、ハッシュ マップ内の複合キーを使用して、複数の値を組み合わせて一意のキーを形成できます。地図。データベースの複合キーとは異なり、これらは計算目的で使用されます。

pow(x, y) の計算値をハッシュ テーブルに保存するには、構造体を使用して複合キーを定義できます:

type Key struct {
    X, Y int
}
ログイン後にコピー

この構造体は、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}])
ログイン後にコピー

出力:

2^2 = 4
2^3 = 8
ログイン後にコピー

構造体は、複数の値を 1 つの単位として表す簡単な方法を提供するため、キーとして使用されます。 。これらにより、適切な比較演算子 (== および !=) が確実に定義され、マップから効率的にキーを取得できるようになります。

ポインタの比較では実際の値ではなくメモリ アドレスのみがチェックされるため、キー タイプとしてポインタを使用することはお勧めできません。 。配列もキー タイプとして使用できますが、構造体の方がより柔軟性があります。

以上が構造体を効果的に使用して Go マップで複合キーを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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