Sobes.tech
Middle

¿Qué mostrará el programa con la iteración sobre un mapa?

sobes.tech AI

Respuesta de la IA

En Go, el orden de iteración sobre un mapa no está definido y puede cambiar en cada ejecución del programa. Esto se debe a que los mapas en Go se implementan utilizando tablas hash, y para garantizar la seguridad y la imprevisibilidad, el orden de recorrido se aleatoriza intencionadamente.

Ejemplo:

package main

import "fmt"

func main() {
    m := map[string]int{"a": 1, "b": 2, "c": 3}
    for k, v := range m {
        fmt.Println(k, v)
    }
}

En cada ejecución, la salida puede ser diferente, por ejemplo:

b 2
a 1
c 3

o

c 3
b 2
a 1

Si se necesita una salida ordenada, hay que recopilar las claves en un slice, ordenarlas y luego iterar sobre las claves ordenadas.