Latest web development tutorials

Bahasa pergi variabel scoping

Diklaim lingkup identifier konstan diwakili oleh jenis, variabel, fungsi, atau ruang lingkup paket dalam kode sumber.

variabel bahasa Go dapat dinyatakan di tiga tempat:

  • Variabel yang didefinisikan dalam fungsi disebut variabel lokal
  • Variabel luar definisi fungsi disebut variabel global
  • variabel definisi fungsi disebut parameter formal

Mari kita memahami variabel lokal yang spesifik, variabel global dan parameter formal.


variabel lokal

Disebut variabel lokal dalam deklarasi variabel fungsi tubuh, mereka hanya berfungsi dalam lingkup vivo, parameter dan mengembalikan nilai-nilai variabel adalah variabel lokal.

Contoh berikut main () fungsi menggunakan variabel lokal 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)
}

Contoh pelaksanaan output di atas adalah:

结果: a = 10, b = 20 and c = 30

Variabel global

Disebut variabel global dalam deklarasi variabel fungsi in vitro, variabel global dapat (setelah diekspor) menggunakan seluruh paket bahkan paket eksternal.

variabel global dapat digunakan dalam setiap fungsi, contoh berikut menunjukkan bagaimana menggunakan variabel 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)
}

Contoh pelaksanaan output di atas adalah:

结果: a = 10, b = 20 and g = 30

Pergi bahasa program dalam variabel global dan variabel lokal dapat menjadi nama yang sama, tetapi variabel lokal dalam fungsi akan diberikan prioritas. Contohnya adalah sebagai berikut:

package main

import "fmt"

/* 声明全局变量 */
var g int = 20

func main() {
   /* 声明局部变量 */
   var g int = 10

   fmt.Printf ("结果: g = %d\n",  g)
}

Contoh pelaksanaan output di atas adalah:

结果: g = 10

parameter formal

parameter bentuk sebagai fungsi dari variabel lokal yang digunakan. Contohnya adalah sebagai 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;
}

Contoh pelaksanaan output di atas adalah:

main()函数中 a = 10
sum() 函数中 a = 10
sum() 函数中 b = 20
main()函数中 c = 30

Menginisialisasi variabel lokal dan global

variabel lokal dan global dari berbagai jenis default:

Jenis Data inisialisasi default
int 0
float32 0
petunjuk nol