Aller langue la portée des variables
Réclamé identifiant de périmètre constant représenté par le type, variable, fonction ou package portée dans le code source.
variables linguistiques Go peuvent être déclarées en trois endroits:
- Les variables définies dans une fonction appelées variables locales
- Variable en dehors de la définition de la fonction est appelée une variable globale
- variables de définition de la fonction appelée paramètres formels
Laissez-nous comprendre les variables locales spécifiques, des variables globales et des paramètres formels.
Les variables locales
valeurs appelées variables locales dans la déclaration des variables du corps de la fonction, ils ne fonctionnent qu'en champ vivo, des paramètres et de retour des variables sont des variables locales.
La fonction exemple suivant main () utilise des 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) }
Des exemples de mise en oeuvre du résultat ci-dessus est la suivante:
结果: a = 10, b = 20 and c = 30
Variables globales
Appelé variables globales dans la déclaration des variables de la fonction in vitro, les variables globales peuvent (après avoir été exporté) en utilisant l'ensemble du paquet, même package externe.
Les variables globales peuvent être utilisées dans toutes les fonctions, l'exemple suivant montre comment utiliser des 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) }
Des exemples de mise en oeuvre du résultat ci-dessus est la suivante:
结果: a = 10, b = 20 and g = 30
Aller programme de langue dans les variables globales et les variables locales peuvent être le même nom, mais les variables locales au sein de la fonction priorité sera donnée. Des exemples sont les suivants:
package main import "fmt" /* 声明全局变量 */ var g int = 20 func main() { /* 声明局部变量 */ var g int = 10 fmt.Printf ("结果: g = %d\n", g) }
Des exemples de mise en oeuvre du résultat ci-dessus est la suivante:
结果: g = 10
paramètres formels
Paramètre de forme en fonction des variables locales utilisées. Des exemples sont les suivants:
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; }
Des exemples de mise en oeuvre du résultat ci-dessus est la suivante:
main()函数中 a = 10 sum() 函数中 a = 10 sum() 函数中 b = 20 main()函数中 c = 30
Initialisation variables locales et globales
variables locales et globales des différents types de défauts:
Types de données | Par défaut initialisation |
---|---|
int | 0 |
float32 | 0 |
aiguille | néant |