Aller à la portée de la variable de langue
Portée de la variable du langage Go
La portée est la portée de la constante, du type, de la variable, de la fonction ou du package représenté par l'identifiant déclaré dans le code source.
Les variables peuvent être déclarées à trois endroits dans le langage Go :
Les variables définies au sein d'une fonction sont appelées variables locales
Les variables définies en dehors de la fonction sont appelées variables globales
Les variables dans la définition de la fonction sont appelées paramètres formels
Comprenons les variables locales en détail , variables globales et paramètres formels.
Variables locales
Les variables déclarées dans le corps de la fonction sont appelées variables locales. Leur portée est uniquement dans le corps de la fonction, et les variables de paramètre et de valeur de retour sont également des variables locales.
Dans l'exemple suivant, la fonction main() utilise les variables locales a, b, c :
package main import "fmt" func main() { /* 声明局部变量 */ var a, b, c int /* 初始化参数 */ a = 10 b = 20 c = a + b fmt.Printf ("结果: a = %d, b = %d and c = %d\n", a, b, c) }
Le résultat de l'exécution de l'exemple ci-dessus est :
结果: a = 10, b = 20 and c = 30
Variable globale
Les variables déclarées en dehors de la fonction sont appelées variables globales. Les variables globales peuvent être utilisées dans l'ensemble du package ou même dans des packages externes (après avoir été exportées).
Les variables globales peuvent être utilisées dans n'importe quelle fonction. L'exemple suivant montre comment utiliser les variables globales :
package main import "fmt" /* 声明全局变量 */ var g int func main() { /* 声明局部变量 */ var a, b int /* 初始化参数 */ a = 10 b = 20 g = a + b fmt.Printf("结果: a = %d, b = %d and g = %d\n", a, b, g) }
Le résultat de l'exécution de l'exemple ci-dessus est :
结果: a = 10, b = 20 and g = 30
Programme en langage Global in Go Les variables et les variables locales peuvent avoir le même nom, mais les variables locales au sein d'une fonction auront la priorité. L'exemple est le suivant :
package main import "fmt" /* 声明全局变量 */ var g int = 20 func main() { /* 声明局部变量 */ var g int = 10 fmt.Printf ("结果: g = %d\n", g) }
Le résultat d'exécution de l'exemple ci-dessus est :
结果: g = 10
Paramètres formels
Les paramètres formels seront utilisés comme variables locales du fonction. L'exemple est le suivant :
package main import "fmt" /* 声明全局变量 */ var a int = 20; func main() { /* main 函数中声明局部变量 */ var a int = 10 var b int = 20 var c int = 0 fmt.Printf("main()函数中 a = %d\n", a); 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); return a + b; }
Le résultat d'exécution de l'exemple ci-dessus est :
main()函数中 a = 10 sum() 函数中 a = 10 sum() 函数中 b = 20 main()函数中 c = 30
Initialiser les variables locales et globales
Les valeurs par défaut des différentes les types de variables locales et globales sont :
数据类型 | 初始化默认值 |
---|---|
int | 0 |
float32 | 0 |
pointer | nil |