Sobes.tech
Junior — Middle

Welche Datentypen eignen sich als Schlüssel in einer Map-Struktur?

sobes.tech KI

Antwort von AI

In Go können die Schlüssel in einer map-Struktur nur solche Typen sein, die den Vergleich auf Gleichheit (== und !=) unterstützen. Dies liegt daran, dass zum Suchen eines Wertes anhand des Schlüssels die Schlüssel verglichen werden müssen.

Geeignete Schlüsseltypen:

  • Einfache Typen: int, float64, string, bool usw.
  • Zeiger
  • Strukturen, wenn alle ihre Felder vergleichbar sind
  • Arrays, wenn die Elemente vergleichbar sind

Nicht als Schlüssel verwendbar:

  • Slices (slice)
  • Maps (map)
  • Funktionen

Beispiel:

m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3

fmt.Println(m["apple"]) // 5

Wenn versucht wird, ein Slice als Schlüssel zu verwenden, gibt der Compiler einen Fehler aus.