【发布时间】:2013-11-25 15:41:07
【问题描述】:
我有一个结构映射,我通过将数据流式传输到 Go 程序来填充这些结构。更新地图的方式类似于下面的示例。
一旦我填充了这个结构映射,按照结构中count 字段的值对该映射进行排序的最佳(或好)方法是什么?
package main
type data struct {
count int64
}
func main() {
m := make(map[string]data)
m["x"] = data{0, 0}
if xx, ok := m["x"]; ok {
xx.count = 2
m["x"] = xx
} else {
panic("X isn't in the map")
}
}
这个例子可以在这里运行:http://play.golang.org/p/OawL6QIXuO
【问题讨论】:
-
您可能需要考虑使用 B-Tree 或红黑树来实现您的目的。据我所知,Go 库中没有参考实现,但这些数据结构无论如何也不难实现。