Pergi - Aturan Lingkup
Cakupan dalam pemrograman apa pun adalah wilayah program di mana variabel yang ditentukan dapat ada dan di luar itu variabel tidak dapat diakses. Ada tiga tempat di mana variabel dapat dideklarasikan dalam bahasa pemrograman Go -
Di dalam fungsi atau blok (local variabel)
Di luar semua fungsi (global variabel)
Dalam definisi parameter fungsi (formal parameter)
Mari kita cari tahu apa itu local dan global variabel dan apa formal parameter.
Variabel Lokal
Variabel yang dideklarasikan di dalam fungsi atau blok disebut variabel lokal. Mereka hanya dapat digunakan oleh pernyataan yang ada di dalam fungsi atau blok kode itu. Variabel lokal tidak diketahui fungsi di luarnya sendiri. Contoh berikut menggunakan variabel lokal. Di sini semua variabel a, b, dan c lokal ke fungsi main ().
package main
import "fmt"
func main() {
/* local variable declaration */
var a, b, c int
/* actual initialization */
a = 10
b = 20
c = a + b
fmt.Printf ("value of a = %d, b = %d and c = %d\n", a, b, c)
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
value of a = 10, b = 20 and c = 30
Variabel Global
Variabel global didefinisikan di luar fungsi, biasanya di atas program. Variabel global memiliki nilainya sepanjang masa program dan dapat diakses di dalam salah satu fungsi yang ditentukan untuk program.
Variabel global dapat diakses oleh fungsi apa pun. Artinya, variabel global tersedia untuk digunakan di seluruh program setelah deklarasi. Contoh berikut menggunakan variabel global dan lokal -
package main
import "fmt"
/* global variable declaration */
var g int
func main() {
/* local variable declaration */
var a, b int
/* actual initialization */
a = 10
b = 20
g = a + b
fmt.Printf("value of a = %d, b = %d and g = %d\n", a, b, g)
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
value of a = 10, b = 20 and g = 30
Suatu program dapat memiliki nama yang sama untuk variabel lokal dan global tetapi nilai variabel lokal di dalam suatu fungsi lebih diutamakan. Misalnya -
package main
import "fmt"
/* global variable declaration */
var g int = 20
func main() {
/* local variable declaration */
var g int = 10
fmt.Printf ("value of g = %d\n", g)
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
value of g = 10
Parameter Formal
Parameter formal diperlakukan sebagai variabel lokal dengan-dalam fungsi itu dan mereka mengambil preferensi atas variabel global. Misalnya -
package main
import "fmt"
/* global variable declaration */
var a int = 20;
func main() {
/* local variable declaration in main function */
var a int = 10
var b int = 20
var c int = 0
fmt.Printf("value of a in main() = %d\n", a);
c = sum( a, b);
fmt.Printf("value of c in main() = %d\n", c);
}
/* function to add two integers */
func sum(a, b int) int {
fmt.Printf("value of a in sum() = %d\n", a);
fmt.Printf("value of b in sum() = %d\n", b);
return a + b;
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
value of a in main() = 10
value of a in sum() = 10
value of b in sum() = 20
value of c in main() = 30
Menginisialisasi Variabel Lokal dan Global
Variabel lokal dan global diinisialisasi ke nilai defaultnya, yaitu 0; sedangkan pointer diinisialisasi menjadi nol.
Tipe data | Nilai Default Awal |
---|---|
int | 0 |
float32 | 0 |
penunjuk | nol |