Maison >développement back-end >Golang >Il existe plusieurs types de variables en langage Go
Il existe trois types de variables : 1. Les variables définies dans une fonction sont appelées variables locales, et leur portée est limitée à l'intérieur de la fonction ; les variables locales n'existent pas toujours, elles n'existent qu'après que la fonction qui les définit est créée. appelée, et après la fin de l'appel de fonction, cette variable locale sera détruite. 2. Les variables définies en dehors de la fonction sont appelées variables globales. Elles ne doivent être définies que dans un seul fichier source et peuvent être utilisées dans tous les fichiers source ; la déclaration de variable globale doit commencer par le mot-clé var si vous souhaitez utiliser la variable globale. dans un package externe La première lettre d'une variable doit être en majuscule. 3. Les variables dans la définition de fonction sont appelées paramètres formels.
L'environnement d'exploitation de ce tutoriel : système Windows 7, GO version 1.18, ordinateur Dell G3.
Le langage Go est un langage typé statiquement, donc les variables ont des types clairs, et le compilateur vérifiera également l'exactitude du type de variable. En mathématiques, une variable représente un nombre qui n'a pas de valeur fixe et qui peut être modifié. Mais du point de vue de la mise en œuvre d’un système informatique, une variable est un ou plusieurs segments de mémoire utilisés pour stocker des données.
Une variable (constante, type ou fonction) a une certaine portée dans le programme, appelée portée.
Comprendre la portée des variables est plus important pour nous d'apprendre le langage Go, car le langage Go vérifiera si chaque variable a été utilisée lors de la compilation. Une fois qu'une variable inutilisée apparaît, une erreur de compilation sera signalée. Si vous ne parvenez pas à comprendre la portée des variables, cela peut provoquer des erreurs de compilation inexpliquées.
Selon l'emplacement où la variable est définie, elle peut être divisée en trois types suivants :
Les variables définies dans la fonction sont appelées variables locales
Les variables définies en dehors de la fonction sont appelées variables globales
Dans la définition de la fonction Les variables sont appelées paramètres formels
Présentons-les séparément ci-dessous.
Variables locales
Les variables déclarées/définies à l'intérieur d'une fonction sont appelées variables locales, et la portée des variables locales est limitée à l'intérieur de la fonction. Les variables définies à l'intérieur de la fonction, les paramètres et les valeurs de retour de la fonction, les variables utilisées à l'intérieur des structures if et for, etc. sont toutes des variables locales.
Une variable locale n'existe pas toujours. Elle n'existe qu'après l'appel de la fonction qui la définit. Cette variable locale sera détruite une fois l'appel de la fonction terminé.
【Exemple】La fonction main() suivante utilise les variables locales a, b et c.
package main import ( "fmt" ) func main() { //声明局部变量 a 和 b 并赋值 var a int = 3 var b int = 4 //声明局部变量 c 并计算 a 和 b 的和 c := a + b fmt.Printf("a = %d, b = %d, c = %d\n", a, b, c) }
Utilisez {} pour limiter la portée de la variable
package main import "fmt" func main() { { name := "HaiCoder" fmt.Println("Name =", name) } }
Nous utilisons {} pour limiter la portée du nom de la variable à l'intérieur de {} , c'est-à-dire la portée du nom de la variable pour le moment, c'est seulement dans Dans {}, le nom est une variable locale.
Remarque : lors de l'accès à une variable en dehors de la portée d'une variable, le programme signalera une erreur
package main import "fmt" func main() { for i := 0; i < 3; i++{ fmt.Print(i) fmt.Print(" ") } fmt.Print(i) }
Nous définissons une variable locale i à l'intérieur de la boucle for et l'utilisons à ce moment-là, la portée de la variable. i est limité au {} de la boucle for interne. Enfin, lorsque nous accédons à la variable i en dehors de {} de la boucle for, le programme signale une erreur car la variable i dépasse la portée.
Variables globales
Les variables déclarées en dehors de la fonction sont appelées variables globales. Les variables globales ne doivent être définies que dans un seul fichier source et peuvent être utilisées dans tous les fichiers source. Bien entendu, cette variable globale n'est pas incluse. Le fichier source doit utiliser le mot-clé "import" pour introduire le fichier source où se trouve la variable globale avant que cette variable globale puisse être utilisée.
La déclaration de la variable globale doit commencer par le mot-clé var. Si vous souhaitez utiliser la variable globale dans un package externe, la première lettre doit être en majuscule.
【Exemple】Dans le code suivant, la ligne 6 définit la variable globale c.
package main import "fmt" //声明全局变量 var c int func main() { //声明局部变量 var a, b int //初始化参数 a = 3 b = 4 c = a + b fmt.Printf("a = %d, b = %d, c = %d\n", a, b, c) }
Explication : Les variables globales et les variables locales dans les programmes en langage Go peuvent avoir le même nom, mais les variables locales dans le corps de la fonction auront la priorité.
package main import "fmt" //声明全局变量 var a float32 = 3.14 func main() { //声明局部变量 var a int = 3 fmt.Printf("a = %d\n", a) }
Paramètres formels
Lors de la définition d'une fonction, les variables entre parenthèses après le nom de la fonction sont appelées paramètres formels (appelés paramètres formels). Les paramètres formels ne prendront effet que lorsque la fonction est appelée et seront détruits une fois l'appel de fonction terminé. Lorsque la fonction n'est pas appelée, les paramètres formels de la fonction n'occupent pas d'unités de stockage réelles et n'ont pas de valeurs réelles.
Les paramètres formels seront utilisés comme variables locales de la fonction.
[Exemple] La ligne 21 du code ci-dessous définit les paramètres formels a et b.
package main import ( "fmt" ) //全局变量 a var a int = 13 func main() { //局部变量 a 和 b var a int = 3 var b int = 4 fmt.Printf("main() 函数中 a = %d\n", a) fmt.Printf("main() 函数中 b = %d\n", b) c := sum(a, b) fmt.Printf("main() 函数中 c = %d\n", c) } func sum(a, b int) int { fmt.Printf("sum() 函数中 a = %d\n", a) fmt.Printf("sum() 函数中 b = %d\n", b) num := a + b return num }
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!