Go规范指出:
必须为键类型的操作数完全定义比较运算符==和!=(比较运算符)。因此,键类型不能为结构,数组或切片。如果键类型是接口类型,则必须为动态键值定义这些比较运算符;失败将导致运行时恐慌。
我希望创建一个哈希表,该哈希表来自Hash接口,返回Hash[]byte
,但是我的所有哈希都使用相同的算法完成(因此,我知道它将适合[16]byte
)。我怎样才能提供适当的接口,使得所述map
型将允许[]byte
或[16]byte
或一些包装其使用作为密钥?
目前,我的使用产生以下错误:
dupes := make(map[[16]byte][]string)
finddups.go:55:无效的地图密钥类型[16] uint8
更新(2012年3月): Go1允许[16]byte
作为键类型。
相关分类