Go to a 中的等价物是std::set什么?请注意,只有唯一性很重要,我不在乎排序。
我已经考虑过使用虚拟类型,例如map[string]bool(bool虚拟在哪里),但是我经常发现在 Go 中我需要提供一种不需要的类型,例如用作信号量的通道,以及这种情况。我是否错过了一些惯用的 Go 语言?
在像 Perl 这样没有集合的语言中,使用带有虚拟值的映射作为集合是常见的做法。我认为在 Go 中获取集合是一种可以接受的方式,除非你想自己实现它或者使用一些第三方实现。当然,您的数据类型必须是允许作为映射中键的数据类型,即不是结构、数组或切片。