首页 > 后端开发 > Golang > 函数可以用作 Go Map 中的键吗?

函数可以用作 Go Map 中的键吗?

Susan Sarandon
发布: 2024-11-01 04:10:02
原创
730 人浏览过

Can Functions Be Used as Keys in Go Maps?

使用功能键映射

使用函数作为键映射数据可以提供访问值的灵活性。但是,尝试使用函数作为键创建地图(如下所示)会导致错误:

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板