Junior — Middle
Cum se schimbă starea tabelului hash atunci când este transmis ca parametru unei funcții?
sobes.tech AI
Răspuns de la AI
În Go, tabelele hash sunt implementate prin tipul map, care este transmis funcțiilor prin referință. Aceasta înseamnă că, atunci când se transmite un map către o funcție, nu se copiază tabela în sine, ci un pointer către structura sa de date internă.
Ca rezultat, orice modificare făcută asupra map-ului în interiorul funcției (adăugare, ștergere sau modificare de elemente) va fi vizibilă și în afara funcției, deoarece același obiect este modificat.
Exemplu:
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) // Va afișa: map[key1:100]
}
Astfel, starea tabelului hash se modifică direct la transmiterea sa către o funcție.