Junior — Middle
Comment l'état de la table de hachage change-t-il lorsqu'elle est passée à une fonction en tant que paramètre?
sobes.tech IA
Réponse de l'IA
En Go, les tables de hachage sont implémentées via le type map, qui est passé par référence aux fonctions. Cela signifie que lors du passage d’un map à une fonction, ce n’est pas la table elle-même qui est copiée, mais un pointeur vers sa structure de données interne.
En conséquence, toutes les modifications effectuées sur le map à l’intérieur de la fonction (ajout, suppression ou modification d’éléments) seront visibles également en dehors de la fonction, car il s’agit du même objet qui est modifié.
Exemple :
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) // Affichera : map[key1:100]
}
Ainsi, l’état de la table de hachage est modifié directement lors de sa transmission à une fonction.