Menu
Coddy logo textTech

Confrontare le mappe

Fa parte della sezione Logica e flusso del percorso GO di Coddy. Lezione 29 di 68.

A differenza di molti altri tipi di dati in Go, le mappe hanno una limitazione particolare: non possono essere confrontate direttamente usando l'operatore ==. L'unica eccezione a questa regola è il confronto di una mappa con nil.

Ciò significa che codice come questo non verrà compilato:

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

// Questo causerà un errore di compilazione!
if map1 == map2 {
    fmt.Println("Maps are equal")
}

Tuttavia, puoi confrontare in sicurezza una mappa con nil:

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

Quando devi verificare se due mappe contengono le stesse coppie chiave-valore, devi scrivere una funzione personalizzata che iteri su entrambe le mappe e confronti ogni elemento individualmente. Questo approccio ti dà il pieno controllo sulla logica di confronto, permettendoti di definire esattamente cosa significa «uguale» per il tuo caso d’uso specifico.

Provalo tu

Questa lezione non include una sfida di codice.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Go online