我正在努力理解如何简单地对map[string]float64. 我看了一下如何按其值对 Map[string]int 进行排序?sort.Sort,这建议使用 struct 进行排序,但是当func 期望func(i, j int)而不是时,我不确定如何执行此操作func(i, j float64)。
例如,这将如何排序?
data := make(map[string]float64)
data["red"] = 1.00
data["green"] = 3.00
data["blue"] = 2.00
我尝试了以下方法,但仅按string地图中的排序,而不是实际排序float64:
data := make(map[string]float64)
data["red"] = 1.00
data["green"] = 3.00
data["blue"] = 2.00
var keys []string
var values []float64
for key, cost := range data {
keys = append(keys, key)
costs = append(costs, cost)
}
sort.Strings(keys)
sort.Float64s(values)
for _, key := range keys {
fmt.Printf("%s %v\n", key, data[key])
}
慕村225694
萧十郎
相关分类