Maison > développement back-end > Golang > Pourquoi est-ce que j'obtiens l'erreur « Déclaration de non-déclaration en dehors du corps de la fonction » dans Go ?

Pourquoi est-ce que j'obtiens l'erreur « Déclaration de non-déclaration en dehors du corps de la fonction » dans Go ?

Patricia Arquette
Libérer: 2024-11-13 10:41:02
original
968 Les gens l'ont consulté

Why Do I Get

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal