Menu
Coddy logo textTech

Comparación de Maps

Parte de la sección Lógica y Flujo del Journey de GO de Coddy — lección 29 de 68.

A diferencia de muchos otros tipos de datos en Go, los maps tienen una limitación única: no se pueden comparar directamente usando el operador ==. La única excepción a esta regla es cuando se compara un map con nil.

Esto significa que un código como este no compilará:

map1 := map[string]int{"a": 1, "b": 2}
map2 := map[string]int{"a": 1, "b": 2}

// ¡Esto causará un error de compilación!
if map1 == map2 {
    fmt.Println("Maps are equal")
}

Sin embargo, puedes comparar de forma segura un mapa con nil:

var myMap map[string]int
if myMap == nil {
    fmt.Println("Map is nil")
}

Cuando necesites comprobar si dos mapas contienen los mismos pares clave-valor, debes escribir una función personalizada que itere a través de ambos mapas y compare cada elemento individualmente. Este enfoque te otorga un control total sobre la lógica de comparación, permitiéndote definir exactamente qué significa "igual" para tu caso de uso específico.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo