这个问题在这里已经有了答案:
Collect values in order, each containing a map
(7 个回答)
2年前关闭。
我知道 Go 的创建者决定随机化 map 的键,这样人们就不会假设他们的顺序。我想现在可能已经改变了,但我还没有看到任何关于这种情况的文档。
对 Linux 日志函数的调用如下:
journal.Send(message string, priority Priority, vars map[string]string) error
(来自https://github.com/coreos/go-systemd)
以已知和受控的顺序而不是随机发送变量会很好,但是如果您不能真正对 map 进行排序,我看不出这怎么可能-我见过的所有示例都将键排序到数组中,然后使用数组作为映射键的排序索引进行迭代。
除了重写
journal.Send()
有没有人有任何想法?常规?
最佳答案
您需要使用像 emirpasic/gods
这样的第三方库。 ,它确实实现了:
但是仅 Map 将保留随机键顺序。
关于sorting - 真的可以对 map 进行排序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58760977/