Menu
CoddyTech

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 mapas tienen una limitación particular: no se pueden comparar directamente con el operador ==. La única excepción a esta regla es al comparar un mapa con nil.

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

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

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

Sin embargo, puedes comparar un mapa con nil sin problemas:

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 recorra ambos mapas y compare cada elemento individualmente. Este enfoque te da un control total sobre la lógica de comparación, lo que te permite 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

Practica por tu cuenta: Compilador de Go online