Sobes.tech
Junior — Middle

Wie greift man auf Werte in einem Wörterbuch zu, das noch nicht vorher erstellt wurde?

sobes.tech KI

Antwort von AI

In Go, wenn eine Map (Wörterbuch) noch nicht erstellt wurde (also nil ist), führt der Zugriff auf Elemente per Schlüssel nicht zu einem Panic, sondern gibt einfach den Nullwert des Elementtyps zurück.

Zum Beispiel:

var m map[string]int // m == nil
fmt.Println(m["key"]) // Gibt 0 aus, verursacht keinen Fehler

Der Versuch, einen Wert in eine nil-Map zu schreiben, führt jedoch zu einem Panic:

m["key"] = 10 // Panic: Zuweisung an Eintrag in nil-Map

Daher sollte man vor dem Schreiben in eine Map sicherstellen, dass sie initialisiert ist, z.B.:

m = make(map[string]int)
m["key"] = 10

Auf diese Weise kann man beim Lesen auf eine nil-Map ohne Fehler zugreifen, beim Schreiben muss die Map jedoch vorher erstellt werden.