使用功能键映射
使用函数作为键映射数据可以提供访问值的灵活性。但是,尝试使用函数作为键创建地图(如下所示)会导致错误:
type Action func(int) func test(a int) { } func test2(a int) { } func main() { x := map[Action]bool{} x[test] = true x[test2] = false }
错误:无效的地图键类型操作
语言限制
Go 语言规范明确规定函数不能用作映射键。这个限制源于要求键必须支持相等比较等运算符,而函数则无法实现这一点。
The comparison operators == and != must be fully defined for operands of the key type; thus the key type must not be a function, map, or slice.
因此,语言不允许使用函数作为映射键,以确保键比较的一致性并防止潜在的错误。
以上是函数可以用作 Go Map 中的键吗?的详细内容。更多信息请关注PHP中文网其他相关文章!