在 Go 中为哈希表创建复合键
在 Go 中,哈希表是有价值的数据结构,可基于唯一性高效存储和检索数据键。然而,当处理组合形成复合键的多个值时,确定如何在哈希表中表示和使用该键可能是一个挑战。
表示组合键
要表示复合键,一种有效的方法是定义一个称为“Key”结构的自定义数据结构。该结构体封装了组成键的各个值:
type Key struct { X, Y int }
通过使用结构体,您可以将多个值组合成一个键,从而可以轻松比较和识别哈希表中的不同键。
使用自定义键类型
定义自定义键结构后,您可以使用以下键类型创建哈希表:
m := map[Key]int{}
此哈希表使用 Key 结构体作为键类型,并存储与每个键关联的整数值。
示例用法
让我们考虑存储计算值的示例哈希表中的 pow(x, y),其中 x 和 y 是整数。使用 Key 结构,我们可以为每对 (x, y) 生成一个键:
m := map[Key]int{} m[Key{2, 2}] = 4 m[Key{2, 3}] = 8
现在,要检索特定对的值,您可以简单地使用相同的 Key 结构:
fmt.Println("2^2 = ", m[Key{2, 2}]) fmt.Println("2^3 = ", m[Key{2, 3}])
这种方法提供了一种灵活高效的方法来使用哈希表中的复合键来存储和检索数据。
以上是如何在 Go 哈希表中表示和使用复合键?的详细内容。更多信息请关注PHP中文网其他相关文章!