在 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
结构体用作键,因为它们提供了一种将多个值表示为单个单元的简单方法。它们确保定义正确的比较运算符(== 和 !=),从而允许从映射中高效检索键。
不建议使用指针作为键类型,因为指针比较仅检查内存地址而不是实际值。数组也可以用作键类型,但结构提供了更大的灵活性。
以上是如何有效地使用结构体在 Go 映射中创建复合键?的详细内容。更多信息请关注PHP中文网其他相关文章!