Sobes.tech
Junior — Middle

¿Cómo se realiza la secuencia de recorrido de los elementos en la estructura de datos Map?

sobes.tech AI

Respuesta de la IA

En Go, la estructura de datos map no garantiza un orden específico en el recorrido de los elementos. Al iterar con un ciclo for range, el orden será aleatorio y puede cambiar en cada ejecución del programa.

Ejemplo de recorrido de elementos en un map:

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

Si se necesita un recorrido ordenado, generalmente se extraen las claves en un slice, se ordenan y luego se recorren en orden:

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

De esta manera, la secuencia de recorrido en un map no está definida por defecto y es aleatoria.