我正在寻找一种有效的方法来检查Golang中是否存在值。我知道的方法是使用for循环/范围。有没有更好的方法可以做到这一点?
任何帮助,将不胜感激 :)
最佳答案
没有内置的方法来查找映射是否包含特定值。如果您需要此行为有效,请考虑使用其他数据结构来支持它。
请注意,尽管Java的Map
提供了 containsValue
,但documentation表示:
因此,如果您需要Java Map的高效实现,则还需要提供一个。
什么是“有效的实现”是指根据要映射的数据类型进行更改。例如,如果值始终是唯一的,则只需维护一个map[value]key
就足够了。如果不是,则需要更多原则性的东西。
关于performance - 检查Golang map 中是否存在值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47212564/