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 è quando si confronta una mappa con nil.
Questo 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 tranquillamente 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 scorra entrambe le mappe e confronti ogni elemento singolarmente. Questo approccio ti offre il pieno controllo sulla logica di confronto e ti permette di definire esattamente cosa significa «uguale» nel tuo caso specifico.
Provalo tu
Questa lezione non include una sfida di codice.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Flusso di controllo avanzato
Switch con `fallthrough`Uscire dai cicli annidatiContinuare un ciclo specificoL'istruzione `goto`Riepilogo - Controllo avanzato dei cicli4Progetto: semplice lista di attività
Configurazione del progettoAggiungere un’attività2Struct e metodi
Definire metodi sugli structReceiver per valoreReceiver con puntatoreScegliere i receiverMetodi vs funzioniRiepilogo - comportamento degli struct5Mappe in dettaglio
Mappe di structPuntatori come valori delle mappeVerificare le mappe nilConfrontare le mappeRiepilogo - Contatore della frequenza delle parole3Interfacce (le basi)
Che cos’è un’interfaccia?Definire un’interfacciaImplementare un’interfacciaUsare i tipi interfacciaInterfaccia vuotaAsserzioni di tipoSwitch di tipoRiepilogo: forme e comportamentiEsercitati da solo: Compilatore Go online