我可以在 golang 中创建具有任何键类型和任何值类型的映射吗?, 就像是 :dict1 := map[interface]interface{}非常感谢 !
1 回答
冉冉说
TA贡献1877条经验 获得超1个赞
从键类型的语言规范:
必须为键类型的操作数完全定义比较运算符 == 和 ! = ;
所以大多数类型都可以用作键类型,但是:
切片、映射和函数值不可比较
因此不能用作映射键。
值类型可以是任何或 (any
或interface{}
) 类型。
type mytype struct{}
type ss []string
_ = make(map[interface{}]interface{}) // this works...
_ = make(map[any]any) // ... semantically the same
_ = make(map[mytype]any) // even a struct
_ = make(map[ss]any) // FAILS: invalid map key type ss
https://go.dev/play/p/OX_utGp8nfH
- 1 回答
- 0 关注
- 117 浏览
添加回答
举报
0/150
提交
取消