Junior — Middle
Kā mainās haštabulas stāvoklis, kad to nodod funkcijai kā parametrs?
sobes.tech AI
Atbilde no AI
Go valodā hash tabulas tiek īstenotas ar map tipu, kas tiek nodots funkcijām pa atsauci. Tas nozīmē, ka, nododot map funkcijai, netiek kopēta pati tabula, bet norāde uz tās iekšējo datu struktūru.
Rezultātā, jebkādas izmaiņas, kas veiktas ar map funkcijas iekšienē (pievienošana, dzēšana vai elementu maiņa), būs redzamas arī ārpus tās, jo tiek mainīts tas pats objekts.
Piemērs:
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) // Izvadīs: map[key1:100]
}
Tādējādi, hash tabulas stāvoklis tiek mainīts tieši, nododot to funkcijai.