Menu
CoddyTech

Maps vergleichen

Teil des Abschnitts Logik & Ablauf der GO-Journey von Coddy. Lektion 29 von 68.

Im Gegensatz zu vielen anderen Datentypen in Go haben Maps eine besondere Einschränkung: Sie können nicht direkt mit dem Operator == verglichen werden. Die einzige Ausnahme von dieser Regel ist der Vergleich einer Map mit nil.

Das bedeutet, dass Code wie dieser nicht kompiliert wird:

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

// Das führt zu einem Kompilierungsfehler!
if map1 == map2 {
    fmt.Println("Maps are equal")
}

Du kannst eine Map jedoch problemlos mit nil vergleichen:

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

Wenn du überprüfen musst, ob zwei Maps dieselben Schlüssel-Wert-Paare enthalten, musst du eine benutzerdefinierte Funktion schreiben, die beide Maps durchläuft und jedes Element einzeln vergleicht. Dieser Ansatz gibt dir die volle Kontrolle über die Vergleichslogik und ermöglicht dir, genau festzulegen, was „gleich“ für deinen konkreten Anwendungsfall bedeutet.

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf

Übe selbstständig: Online-Go-Compiler