Déclaration de non-déclaration en dehors du corps de fonction en Go
En Go, déclarer une variable en dehors du corps d'une fonction conduit généralement au "non -erreur de déclaration en dehors du corps de la fonction. Cela se produit parce que Go applique strictement les règles de portée, exigeant que les variables soient déclarées dans le bloc approprié (par exemple, à l'intérieur d'une fonction).
Déclaration de variable globale idiomatique
Pour créer une variable globalement accessible qui est modifiable mais pas constante, la syntaxe est :
var test = "This is a test"
Copier après la connexion
- Le mot clé var est utilisé pour la déclaration de variable.
- Le nom de la variable (test dans ce cas) doit commencer par une lettre minuscule pour indiquer sa visibilité au sein du package (non exporté).
- Le signe = attribue une valeur à la variable.
Exemple :
package apitest
import (
"fmt"
)
var test = "This is a test" // Globally accessible variable
func main() {
fmt.Println(test)
test = "Another value"
fmt.Println(test)
}
Copier après la connexion
Explication étendue
-
Initialisation de variable dans les fonctions : Dans les fonctions, vous pouvez déclarer une variable et attribuez-lui une valeur plus tard en utilisant l'opérateur :=. Cependant, := n'est pas valide pour les déclarations de variables globales.
-
Inférence de type : Go prend en charge l'inférence de type, où le compilateur peut déterminer le type d'une variable en fonction de sa valeur initiale.
-
Modification des variables au niveau du package : Les variables au niveau du package, y compris les variables accessibles globalement, peuvent être modifiées à partir des fonctions en utilisant le même nom de variable (par exemple, changeTest(newVal) dans l'extrait de code fourni) .
-
Fonction Init : Pour l'initialisation de packages complexes, Go fournit la fonction init, qui est automatiquement exécutée avant main(). Il peut être utilisé pour configurer les états initiaux du package.
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!