Junior — Middle
Peut-on accéder à une variable déclarée à l'intérieur d'une fonction depuis l'extérieur de sa portée?
sobes.tech IA
Réponse de l'IA
En Go, une variable déclarée à l’intérieur d’une fonction a une portée locale et n’est pas accessible en dehors de cette fonction directement.
Cependant, il est possible d’accéder à la valeur de la variable depuis l’extérieur via des closures ou en renvoyant la valeur depuis la fonction.
Exemple avec closure :
func compteur() func() int {
count := 0
return func() int {
count++
return count
}
}
func main() {
c := compteur()
fmt.Println(c()) // 1
fmt.Println(c()) // 2
}
Ici, la variable count est déclarée à l’intérieur de la fonction compteur, mais accessible via la fonction retournée.
Il n’y a pas d’accès direct à la variable locale depuis l’extérieur de la fonction sans ces méthodes.