Maison > développement back-end > Golang > le corps du texte

Comprendre la portée des variables de fonction Golang

王林
Libérer: 2023-12-23 08:09:55
original
1177 Les gens l'ont consulté

Comprendre la portée des variables de fonction Golang

Pour comprendre la portée des variables de fonction Golang, vous avez besoin d'exemples de code spécifiques

Dans Golang, une fonction est un type de variable spécial qui peut être transmis à d'autres fonctions en tant que paramètres ou renvoyé comme valeur de retour. La portée d'une variable de fonction fait référence à la plage visible et accessible de la variable de fonction dans le code.

La portée des variables de fonction peut être divisée en portée globale et portée locale.

Les variables de fonction avec une portée globale sont définies en dehors de la fonction, et elles sont accessibles et utilisées n'importe où dans l'ensemble du programme. Voici un exemple :

package main

import "fmt"

func add(a, b int) int {
    return a + b
}

var sub = func(a, b int) int {
    return a - b
}

func main() {
    fmt.Println(add(2, 3)) // 输出:5
    fmt.Println(sub(6, 4)) // 输出:2
}
Copier après la connexion

Dans l'exemple ci-dessus, la fonction add() est définie en dehors de la fonction main(). Il s'agit d'une variable de fonction globale qui peut être. utilisé dans d’autres fonctions est appelé. sub est une variable de fonction anonyme globale qui peut également être appelée dans d'autres fonctions. add()函数定义在main()函数外部,它是一个全局函数变量,可以在其他函数中被调用。sub是一个全局匿名函数变量,它也可以在其他函数中被调用。

局部作用域的函数变量定义在函数内部,它们只能在定义它们的函数内部被访问和使用。下面是一个示例:

package main

import "fmt"

func main() {
    mul := func(a, b int) int {
        return a * b
    }

    result := mul(2, 3)
    fmt.Println(result) // 输出:6
}
Copier après la connexion

上面的例子中,mul是一个局部函数变量,它只能在main()函数内部被调用。在main()函数内部,我们可以像调用其他函数一样调用它,并得到相应的结果。

需要注意的是,函数变量的作用域也遵循变量的作用域规则。即在内部作用域中,可以访问外部作用域中的变量。下面是一个示例:

package main

import "fmt"

func main() {
    x := 10

    add := func(a, b int) int {
        return a + b + x
    }

    result := add(2, 3)
    fmt.Println(result) // 输出:15
}
Copier après la connexion

上面的例子中,add是一个局部函数变量,在其内部可以访问外部作用域中的变量x。所以在调用add(2, 3)时,它会返回2 + 3 + 10的结果,即15

Les variables de fonction dans la portée locale sont définies à l'intérieur de la fonction, et elles ne sont accessibles et utilisées qu'à l'intérieur de la fonction dans laquelle elles sont définies. Voici un exemple :

rrreee

Dans l'exemple ci-dessus, mul est une variable de fonction locale, qui ne peut être appelée qu'à l'intérieur de la fonction main(). À l'intérieur de la fonction main(), nous pouvons l'appeler comme les autres fonctions et obtenir les résultats correspondants. 🎜🎜Il convient de noter que la portée des variables de fonction suit également les règles de portée des variables. Autrement dit, dans la portée interne, les variables de la portée externe sont accessibles. Voici un exemple : 🎜rrreee🎜Dans l'exemple ci-dessus, add est une variable de fonction locale, dans laquelle la variable x dans la portée externe est accessible. Ainsi, lors de l'appel de add(2, 3), il renverra le résultat de 2 + 3 + 10, qui est 15. 🎜🎜Pour résumer, il est très important de comprendre la portée des variables de fonction, qui détermine la portée visible et accessible de la variable dans le code. Grâce à des exemples de code spécifiques, nous pouvons mieux comprendre le concept de portée des variables de fonction. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!