Maison  >  Article  >  développement back-end  >  Quelles sont les portées des variables en langage Go ?

Quelles sont les portées des variables en langage Go ?

WBOY
WBOYoriginal
2023-06-10 08:03:061207parcourir

La portée variable est un concept très important en programmation. Elle détermine la plage visible et le cycle de vie des variables dans le programme. Dans le langage Go, la portée variable a également ses propres règles et restrictions spéciales. Cet article présentera la portée variable dans le langage Go ainsi que ses principes et applications.

1. Portée globale

La portée globale fait référence à la portée dans laquelle les variables peuvent être consultées et utilisées dans tout le programme. Elle est définie au niveau du package et peut être utilisée par les fonctions, les méthodes dans l'ensemble du package et d'autres fichiers. utilisé. Dans le langage Go, toutes les variables définies en dehors d'une fonction ont une portée globale et sont accessibles tout au long de l'exécution du programme.

Par exemple, dans le code suivant, la variable num a une portée globale et est accessible et utilisée dans la fonction principale :

package main

import "fmt"

var num int = 10

func main() {
    fmt.Println(num) // 输出 10
}

Il est à noter que si une variable portant le même nom que la variable globale est définie à l'intérieur d'un fonction, les variables internes de la fonction écraseront les variables globales, mais n'affecteront pas l'accès des autres fonctions aux variables globales.

2. Portée locale

La portée locale fait référence à la portée dans laquelle une variable n'est accessible et utilisée que dans le bloc de code (généralement une fonction ou un bloc d'instructions) dans lequel elle est définie. Dans le langage Go, toutes les variables définies dans une fonction ou un bloc d'instructions ont une portée locale et ne sont accessibles et utilisées qu'à l'intérieur de la fonction ou du bloc d'instructions.

Par exemple, dans le code suivant, les variables x et y ont une portée locale et ne sont accessibles et utilisées qu'à l'intérieur du bloc d'instruction if :

package main

import "fmt"

func main() {
    if x := 10; x > 5 {
        y := 20
        fmt.Println(x, y) // 输出 10 20
    }
    fmt.Println(x, y) // 报错:undefined: y
}

Il convient de noter que les définitions de variables dans le langage Go peuvent également être placées dans blocs d'instructions (tels que if, for, switch), et la portée est limitée à l'intérieur du bloc d'instructions. Cette méthode est également appelée déclaration courte de variables.

3. Portée des paramètres de fonction

La portée des paramètres de fonction fait référence à la portée où se trouvent les paramètres de la fonction. Dans le langage Go, les paramètres de fonction ont également une portée locale et ne sont accessibles et utilisés que dans la fonction.

Par exemple, dans le code suivant, la variable Une variable avec la portée du paramètre de fonction est également définie à l'intérieur de la fonction.

4. Portée du bloc

La portée du bloc fait référence à un bloc de code entouré d'accolades. Les variables qui y sont définies ne sont accessibles et utilisées que dans le bloc de code et ses sous-blocs de code. portée.

Dans le langage Go, si une variable est définie dans un certain bloc de code, la portée de la variable sera limitée au bloc de code et à ses sous-blocs de code.

Par exemple, dans le code suivant, les variables x, y et z ont toutes une portée de bloc et ne sont accessibles et utilisées que dans le bloc de code correspondant et ses blocs de sous-code :

package main

import "fmt"

func add(x, y int) int {
    return x + y + z // 报错:undefined: z
}

func main() {
    z := 10
    fmt.Println(add(1, 2)) // 输出 13
}

Il convient de noter que dans la boucle for Les variables définies ont également une portée de bloc, mais chaque boucle créera une nouvelle variable et ne sera pas affectée par les variables précédentes.

Résumé

Ce qui précède présente les quatre portées de variables courantes dans le langage Go : portée globale, portée locale, portée des paramètres de fonction et portée du bloc. Comprendre les règles et les limites de la portée variable est la base pour écrire du code de haute qualité. J'espère que cet article pourra aider les lecteurs à mieux comprendre et utiliser la portée variable dans le langage Go.

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!

Déclaration:
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