Sobes.tech
Junior — Middle

Hoe verandert de toestand van de hash-tabel wanneer deze als parameter aan een functie wordt doorgegeven?

sobes.tech AI

Antwoord van AI

In Go worden hash-tabellen geïmplementeerd via het type map, dat door verwijzing wordt doorgegeven aan functies. Dit betekent dat bij het doorgeven van een map aan een functie, niet de tabel zelf wordt gekopieerd, maar een pointer naar de interne datastructuur.

Als gevolg hiervan zijn alle wijzigingen die binnen de functie aan de map worden aangebracht (toevoegen, verwijderen of wijzigen van elementen) ook zichtbaar buiten de functie, omdat hetzelfde object wordt gewijzigd.

Voorbeeld:

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) // Toont: map[key1:100]
}

Op deze manier wordt de toestand van de hash-tabel direct gewijzigd bij het doorgeven aan een functie.