Portée variable et observation dans Go : un guide complet
Dans Go, comprendre la portée et l'observation des variables est crucial pour écrire du code propre et maintenable . La portée de la variable définit la visibilité d'une variable au sein d'un programme, tandis que l'observation fait référence à la re-déclaration d'une variable du même nom dans une portée imbriquée.
Portée des variables dans Go
Go utilise la portée lexicale, ce qui signifie que la portée d'une variable est déterminée par sa position dans le code. Il existe cinq niveaux de portée différents :
Observation de variable dans Go
L'observation se produit lorsqu'une variable dans une portée interne est déclarée avec le même nom qu'une variable dans une portée externe. Dans de tels cas, la variable dans la portée interne a priorité et masque la variable externe.
Avantages de la portée et de l'observation des variables
Différentes formes d'observation variable
Dans Go, l'observation variable peut être réalisée dans plusieurs façons :
Utiliser une affectation abrégée dans les instructions :
for i := 'a'; i < 'b'; i++ { // i shadowed inside this block }
Utiliser {.. .} paires :
{ i := "hi" //new local var }
Utilisation des appels de fonction :
func fun(i int) { i++ //use as local var without side effect }
Shadowing global variables :
var i int = 1 //global func main() { i := 10 //Shadowing global var }
Échantillons et exemples de code
Portée des variables :
package main func main() { i := 10 //scope: main fmt.Println(i) //output: 10 }
Dans cet exemple, i est déclaré dans la fonction principale et n'est accessible qu'à l'intérieur de celle-ci. function.
Observation de variable :
package main func shadow() { x := 10 //shadowing global variable x fmt.Println(x) //output: 10 } var x int = 1 //global variable func main() { fmt.Println(x) //output: 1 shadow() }
Dans cet exemple, la variable globale x est masquée par la variable locale x dans la fonction d'ombre. Par conséquent, lorsque x est accédé à l'intérieur de la fonction shadow, il fait référence à la variable locale avec la valeur 10.
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!