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