Sobes.tech
Junior — Middle

¿Se puede garantizar el orden de recorrido de los elementos en la estructura de datos Map?

sobes.tech AI

Respuesta de la IA

En Go, el orden de recorrido de los elementos en la estructura de datos map no está garantizado y es aleatorio. Esto se hace intencionadamente para evitar que el código dependa del orden de recorrido y para aumentar la seguridad.

Si se necesita un orden garantizado, generalmente:

  • Se extraen las claves en un slice
  • Se ordena el slice
  • Se recorre el map por las claves ordenadas

Ejemplo:

keys := make([]string, 0, len(myMap))
for k := range myMap {
    keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
    fmt.Println(k, myMap[k])
}

De esta manera, no se puede confiar en el orden de recorrido del map en Go.