通过引用映射键,通过取消引用进行比较

我需要使用带有大字符串的大地图作为键。go 默认有没有办法map指定比较测试,以便将键视为地址?如果没有,是否有很好的库来实现这一点?

请注意,我想要防止的是,每当进行地图查找时,副本都会不断传递长字符串。


largeQ
浏览 172回答 1
1回答

森栏

对于字符串的特殊情况,Go 默认情况下会做您想要的:字符串当前由指针/长度对表示,因此您在复制字符串时不会复制字符串数据。通常,您不能指定自定义比较(或哈希)函数。其他类型和自定义结构根据规范中列出的规则进行处理:指针按地址进行比较,例如,固定大小的数组按值进行比较,而切片类型通常不可比较,因此包含它们的结构类型不是t 可用作映射键类型。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go