- 将map的key取出放到一个slice s中
- 将这个s排序
- 遍历_, v := range s, 从map中取出值: map[v], 依次放到数组中
var err error
msgs = make([]*configModel.SysMailMsg, len(cacheMap))
keys := make([]int, len(cacheMap))
i := 0
for k, _ := range cacheMap {
if keys[i], err = strconv.Atoi(k); err != nil {
return nil, err
}
i++
}
sort.Ints(keys)
mi := 0
for _, v := range keys {
var tmp configModel.SysMailMsg
json.UnmarshalFromString(cacheMap[strconv.Itoa(v)], &tmp)
msgs[mi] = &tmp
mi++
}