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