Sobes.tech
Junior — Middle

Wie ändert sich der Zustand der Hashtabelle, wenn sie als Parameter an eine Funktion übergeben wird?

sobes.tech KI

Antwort von AI

In Go werden Hash-Tabellen durch den Typ map implementiert, der in Funktionen per Referenz übergeben wird. Das bedeutet, dass beim Übergeben eines map an eine Funktion nicht die Tabelle selbst kopiert wird, sondern ein Zeiger auf die interne Datenstruktur.

Folglich sind alle Änderungen, die innerhalb der Funktion am map vorgenommen werden (Hinzufügen, Entfernen oder Ändern von Elementen), auch außerhalb sichtbar, da es sich um dasselbe Objekt handelt.

Beispiel:

func addEntry(m map[string]int, key string, value int) {
    m[key] = value
}

func main() {
    myMap := make(map[string]int)
    addEntry(myMap, "key1", 100)
    fmt.Println(myMap) // Gibt aus: map[key1:100]
}

Auf diese Weise wird der Zustand der Hash-Tabelle direkt beim Übergabe an eine Funktion geändert.