Junior — Middle
Welche Datentypen sind als Schlüssel für die Map-Struktur zulässig?
sobes.tech KI
Antwort von AI
In Go können die Schlüssel für eine Map nur Datentypen sein, die die Vergleichsoperation (vergleichbar) unterstützen. Das bedeutet, dass die Schlüssel sein können:
- Boolesche Werte (bool)
- Zahlen (int, float, complex usw.)
- Strings (string)
- Zeiger
- Schnittstellen, wenn der dynamische Typ den Vergleich unterstützt
- Strukturen, wenn alle ihre Felder vergleichbar sind
Slices, Karten, Funktionen und andere nicht vergleichbare Typen können nicht als Schlüssel verwendet werden, da sie den Operator == nicht unterstützen.
Beispiel:
m := make(map[string]int)
m["key"] = 42
// Struktur mit vergleichbaren Feldern
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1,2}] = "Ein Punkt"