Convierta rápidamente el mapa en una matriz ordenada

  1. Coge la llave del mapa y ponla en un slice s
  2. ordenar esto
  3. Traverse _, v := range s, sacar el valor del mapa: map[v], ponerlo en la matriz a su vez
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++
}

Supongo que te gusta

Origin blog.csdn.net/Horsdy123/article/details/118196247
Recomendado
Clasificación