Menu
CoddyTech

Comparando Mapas

Parte da seção Lógica & Fluxo do Journey de GO da Coddy. Lição 29 de 68.

Ao contrário de muitos outros tipos de dados em Go, os mapas têm uma limitação única: não podem ser comparados diretamente usando o operador ==. A única exceção a essa regra é ao comparar um mapa com nil.

Isso significa que um código como este não será compilado:

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

// Isso causará um erro de compilação!
if map1 == map2 {
    fmt.Println("Maps are equal")
}

No entanto, você pode comparar um mapa com segurança com nil:

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

Quando precisar verificar se dois mapas contêm os mesmos pares de chave-valor, você deve escrever uma função personalizada que percorra ambos os mapas e compare cada elemento individualmente. Essa abordagem dá a você controle total sobre a lógica de comparação, permitindo definir exatamente o que significa “igual” para seu caso de uso específico.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo

Pratique por conta própria: Compilador de Go online