Junior — Middle
Welche Datentypen können als Schlüssel in einem Map-Container fungieren?
sobes.tech KI
Antwort von AI
In Go kann der Schlüssel in einer Map nur aus vergleichbaren (vergleichbaren) Datentypen bestehen. Das bedeutet, dass der Operator == für den Schlüssel definiert sein muss.
Geeignete Schlüsseltypen:
- Boolesche Werte (
bool) - Zahlen (
int,float64,uint8usw.) - Strings (
string) - Zeiger
- Kanäle
- Schnittstellen, wenn der dynamische Typ vergleichbar ist
- Strukturen, bei denen alle Felder vergleichbar sind
Nicht als Schlüssel verwendbar:
- Slices (
slice) - Maps (
map) - Funktionen
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"
Wenn versucht wird, einen nicht vergleichbaren Typ als Schlüssel zu verwenden, gibt der Compiler einen Fehler aus.