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.