Junior — Middle
Come cambia lo stato della tabella hash quando viene passata come parametro a una funzione?
sobes.tech AI
Risposta dell'AI
In Go, le tabelle hash sono implementate tramite il tipo map, che viene passato alle funzioni per riferimento. Ciò significa che quando si passa un map a una funzione, non viene copiata la tabella stessa, ma un puntatore alla sua struttura dati interna.
Di conseguenza, qualsiasi modifica apportata al map all’interno della funzione (aggiunta, rimozione o modifica di elementi) sarà visibile anche all’esterno della funzione, poiché si modifica lo stesso oggetto.
Esempio:
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) // Mostrerà: map[key1:100]
}
In questo modo, lo stato della tabella hash viene modificato direttamente passando la mappa a una funzione.