Junior — Middle
Jak se mění stav hashové tabulky při jejím předání funkci jako parametr?
sobes.tech AI
Odpověď od AI
V jazyce Go jsou hash tabulky implementovány pomocí typu map, který je předáván funkcím odkazem. To znamená, že při předání map do funkce se nekopíruje samotná tabulka, ale ukazatel na její vnitřní datovou strukturu.
V důsledku toho jsou jakékoli změny provedené s map uvnitř funkce (přidání, odstranění nebo změna prvků) viditelné i mimo funkci, protože se mění stejný objekt.
Příklad:
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) // Vypíše: map[key1:100]
}
Tímto způsobem se stav hash tabulky mění přímo při jejím předání do funkce.