Sobes.tech
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.