Sobes.tech
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"