Affectation et déclaration mixtes en Go
En Go, lorsque vous travaillez avec des variables, il est essentiel de comprendre le concept d'observation de variables. Cela se produit lorsqu'une variable est déclarée et initialisée dans une portée interne avec l'opérateur :=, créant une nouvelle valeur et un nouveau type associés à cette variable.
Considérez l'extrait de code suivant :
a := 1 { a, b := 2, 3 }
Ce code ne parvient pas à se compiler car il tente de redéclarer la variable a dans la portée interne. Cependant, si nous déclarons les deux variables dans la même portée, cela fonctionne :
a := 1 a, b := 2, 3
C'est le résultat de l'observation des variables. Lorsque nous utilisons := avec une variable dans une portée interne, nous créons effectivement une nouvelle variable avec le même nom, qui a priorité sur la variable déclarée dans la portée externe.
Pour résoudre ce problème, nous avons plusieurs options :
À l'inverse, si nous déclarons accidentellement une variable dans une portée interne sans nous en rendre compte (par ex. , dans une fonction avec plusieurs valeurs de retour), on peut le corriger en :
Enfin, l'extrait de code dans lequel vous combinez une nouvelle déclaration de variable (b) avec une affectation à une variable existante (a) fonctionne car aucune nouvelle portée n'est créée, donc l'effet d'ombrage ne se produit pas. Vous pouvez le vérifier en imprimant l'adresse d'un avant et après la mission :
a := 1 fmt.Println(&a) a, b := 2, 3 fmt.Println(&a) a = b // Avoids "declared but not used" error for `b`
En comprenant l'observation des variables et les différentes façons de l'utiliser et de l'atténuer, vous pouvez gérer efficacement les variables dans 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!