Go skop pembolehubah bahasa
Skop pembolehubah bahasa Go
Skop ialah skop pemalar, jenis, pembolehubah, fungsi atau pakej yang diwakili oleh pengecam yang diisytiharkan dalam kod sumber.
Pembolehubah boleh diisytiharkan dalam tiga tempat dalam bahasa Go:
Pembolehubah yang ditakrifkan dalam fungsi dipanggil pembolehubah tempatan
Pembolehubah yang ditakrifkan di luar fungsi dipanggil pembolehubah global
Pembolehubah dalam definisi fungsi dipanggil parameter formal
Mari kita memahami pembolehubah tempatan secara terperinci , pembolehubah global dan parameter formal.
Pembolehubah setempat
Pembolehubah yang diisytiharkan dalam badan fungsi dipanggil pembolehubah tempatan Skopnya hanya dalam badan fungsi, dan parameter dan pembolehubah nilai pulangan juga merupakan pembolehubah tempatan.
Dalam contoh berikut, fungsi main() menggunakan pembolehubah setempat 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) }
Hasil keluaran pelaksanaan contoh di atas ialah:
结果: a = 10, b = 20 and c = 30
Pembolehubah global
Pembolehubah yang diisytiharkan di luar fungsi dipanggil pembolehubah global boleh digunakan dalam keseluruhan pakej atau bahkan dalam pakej luaran (selepas dieksport).
Pembolehubah global boleh digunakan dalam mana-mana fungsi Contoh berikut menunjukkan cara menggunakan pembolehubah global:
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) }
Hasil keluaran pelaksanaan contoh di atas ialah:
结果: a = 10, b = 20 and g = 30
Program bahasa Global dalam Go Pembolehubah dan pembolehubah tempatan boleh mempunyai nama yang sama, tetapi pembolehubah tempatan dalam fungsi akan diberi keutamaan. Contohnya adalah seperti berikut:
package main import "fmt" /* 声明全局变量 */ var g int = 20 func main() { /* 声明局部变量 */ var g int = 10 fmt.Printf ("结果: g = %d\n", g) }
Output pelaksanaan contoh di atas ialah:
结果: g = 10
Parameter formal
Parameter formal akan digunakan sebagai pembolehubah tempatan bagi fungsi. Contohnya adalah seperti berikut:
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; }
Output pelaksanaan contoh di atas ialah:
main()函数中 a = 10 sum() 函数中 a = 10 sum() 函数中 b = 20 main()函数中 c = 30
Memulakan pembolehubah tempatan dan global
Nilai lalai berbeza jenis pembolehubah tempatan dan global ialah:
数据类型 | 初始化默认值 |
---|---|
int | 0 |
float32 | 0 |
pointer | nil |