是否可以对地图进行真正的排序?

我知道 Go 的创建者决定随机化地图的键,这样人们就不会假设他们的顺序。我想现在可能已经改变了,但我还没有看到任何这方面的文档。

Linux 日志函数的调用如下:

 journal.Send(message string, priority Priority, vars map[string]string) error

最好以已知且受控的顺序发送变量而不是随机发送,但如果你不能真正对映射进行排序,我不明白这是怎么可能的 - 我见过的所有示例都将键排序到数组中,然后使用数组作为映射键的排序索引进行迭代。

除了重写例程之外,还有其他想法吗journal.Send()


翻阅古今
浏览 155回答 1
1回答

幕布斯7119047

您需要使用像 这样的第三方库emirpasic/gods,它确实实现了:TreeMap:基于红黑树的地图。键是根据比较器排序的。Linked Hashmap:保留插入顺序的映射。它由哈希表支持来存储值和双向链表来存储排序。但仅 Map 将保留随机键顺序。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go