Junior — Middle
Kako se menja stanje hash tabele prilikom prosleđivanja funkciji kao parametar?
sobes.tech АИ
Одговор од АИ
U Go, hash tabele se implementiraju putem tipa map, koji se prosleđuje funkcijama putem reference. To znači da, kada prosledite map funkciji, ne kopira se sama tabela, već pokazivač na njenu internu strukturu podataka.
Kao rezultat toga, sve promene koje se izvrše nad map-om unutar funkcije (dodavanje, brisanje ili izmena elemenata) biće vidljive i spolja, jer se menja isti objekat.
Primer:
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) // Ispisaće: map[key1:100]
}
Na ovaj način, stanje hash tabele menja se direktno prilikom prosleđivanja funkciji.