在 Go 中为哈希映射创建复合键
在 Go 中,为哈希映射定义复合键涉及组合多个值来创建一个唯一的密钥。当您想要基于多个参数对数据进行索引时,此技术非常有用,例如计算和存储 pow(x, y) 的值,其中 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}])
使用此结构作为键类型可确保映射中的每个条目基于 X 和 Y 值唯一可识别。这使您可以使用组合键有效地检索相应的存储值。
重要注意事项
值得注意的是,应避免使用指针作为键类型,因为他们比较内存地址而不是实际值。此外,数组可以用作键类型,但它们的通用性不如结构。
以上是如何在 Go 中为哈希图创建复合键?的详细内容。更多信息请关注PHP中文网其他相关文章!