Sobes.tech
Junior — Middle

¿La estructura de datos Map garantiza el mantenimiento del orden de inserción de los elementos?

sobes.tech AI

Respuesta de la IA

En el lenguaje Go, la estructura de datos map no garantiza mantener el orden de inserción de los elementos. La iteración sobre un map ocurre en un orden aleatorio, que puede cambiar en cada recorrido.

Si se requiere mantener el orden de inserción, es necesario usar una estructura adicional, como un slice para almacenar las claves en el orden deseado, o usar bibliotecas externas que implementen diccionarios ordenados.

Ejemplo de recorrido de un map manteniendo el orden de las claves:

package main

import "fmt"

func main() {
    m := map[string]int{"a": 1, "b": 2, "c": 3}
    keys := []string{"a", "b", "c"} // orden de inserción

    for _, k := range keys {
        fmt.Println(k, m[k])
    }
}