Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我将从框架中一一接收字符串,我需要将它们保存在某个容器中并稍后删除其中一些。现在我有两个选择:-
所以我个人更喜欢第二种选择。这是正确的选择吗?我们有更好的办法吗?
如果您需要按值访问和删除字符串,那么map[string]struct{}如果字符串的数量足够大并且没有重复项,那么 a 会为您提供更好的性能。如果有重复项,并且在删除时只需要删除一个,那么 amap[string]int会起作用,其值是字符串出现的次数。如果字符串的数量不大,那么 acontainer/list可能比切片更好,因为您可以在恒定时间内从中删除字符串。切片仅在小尺寸时才会优于其他切片,对于所有实际情况,删除都需要复制切片的一部分。
map[string]struct{}
map[string]int
container/list