Skip to content
Santekno.com | Level Up Your Engineering Skills
ID
📖 0%
01 Aug 2022 · 5 mnt baca ·Artikel 13 / 119
Go

Mengenal Variabel dan Constants pada pemrograman Golang

IH
Ihsan Arif
Penulis di Santekno · Backend Engineer

Variable

Berikut contoh implementasi dasar penggunaan variable pada program dibawah ini

go
1package main
2
3import "fmt"
4
5func main() {
6	var x string
7	x = "Hello World"
8	fmt.Println(x)
9}
Dalam program ini kita akan mencetak string Hello World dengan menyimpan terlebih dahulu string ke dalam suatu variabel yaitu x dan selanjutnya mencetak variabel tersebut menggunakan fungsi fmt.Println().

Jika kita mau menggabungkan variable string, kita bisa menggunakan operation + untuk menggabungkannya. Misalkan contoh program ada dibawah ini:

go
 1package main
 2
 3import "fmt"
 4
 5func main() {
 6	var x string
 7	x = "first"
 8	fmt.Println(x)
 9	x = x + "second"
10	fmt.Println(x)
11}
setelah program dijalankan maka outputnya seperti dibawah ini
go
1$ go run main.go 
2first 
3first second

Kita juga bisa menggunakan simbol persamaan yang berbeda ==. (Dua tanda sama dengan di sebelah satu sama lain) == adalah operator seperti + dan mengembalikan boolean. Sebagai contoh:

go
1package main
2
3import "fmt"
4
5func main() {
6  var x string = "hello"
7  var y string = "world"
8  fmt.Println(x == y)
9}
Program ini akan mengeluarkan output false. Sedangkan jika kita ganti variabel string y menjadi hello seperti ini
go
1  ...
2  var y string = "world"
3  ...
maka program akan mengeluarkan output true.

Didalam Go juga kita bisa membuat variabel dengan lebih singkat dan mudah sebagai contoh:

go
1  x := "Hello World"
Tanda petik : sebelum sama dengan = menandakan bahwa kita akan menyimpan isi ke dalam variabel x dan tipe dari variabel x pun akan disesuaikan oleh compiler yaitu berupa tipe string.

Misalkan kita buat lagi variabel seperti dibawah ini

go
1  x := 5
2  fmt.Println(x)
Maka compiler pun akan menganggap variabel x ini berupa tipe integer

Bagaimana mendefinisikan suatu variabel

Memberi nama variabel dengan benar merupakan bagian penting dari pengembangan perangkat lunak. Nama harus dimulai dengan huruf dan dapat berisi huruf, angka, atau simbol _ (garis bawah). Kompilator Go tidak peduli apa yang Anda beri nama variabel sehingga nama tersebut dimaksudkan untuk keuntungan Anda (dan lainnya). Pilih nama yang secara jelas menggambarkan tujuan variabel. Misalkan kita memiliki yang berikut:

go
1  x := "Kitty"
2  fmt.Println("Nama kucing saya adalah ", x)
Dalam hal ini x bukanlah nama yang sangat baik untuk sebuah variabel. Nama yang lebih baik adalah:
go
1  name := "Kitty"
2  fmt.Println("Nama kucing saya adalah ", name)
atau bisa juga
go
1  catName := "Kitty"
2  fmt.Println("Nama kucing peliharaanku adalah ", catName)

Scope

Kembali lagi ke program misalkan kita mendefinisikan variabel seperti dibawah ini

go
1package main
2
3import "fmt"
4
5func main() {
6  var x string
7  x = "Hello World"
8	fmt.Println(x)
9}
lalu kita edit menjadi seperti ini
go
1package main
2
3import "fmt"
4
5var x string = "Hello World"
6
7func main() {
8	fmt.Println(x)
9}
Perhatikan bahwa kita memindahkan variabel di luar fungsi utama. Ini berarti bahwa fungsi lain dapat mengakses variabel ini:
go
 1package main
 2
 3import "fmt"
 4
 5var x string = "Hello World"
 6
 7func main() {
 8	fmt.Println(x)
 9}
10
11func f(){
12	fmt.Print(x)
13}
Sekarang fungsi f() akan mengakses variabel x ini jika fungsi tersebut dipanggil. Lalu kita coba lihat program ini seperti ini:
go
 1package main
 2
 3import "fmt"
 4
 5
 6func main() {
 7  var x string = "Hello World"
 8	fmt.Println(x)
 9}
10
11func f(){
12	fmt.Print(x)
13}
Jika kamu akan menjalankan ini maka program tersebut akan error.
bash
1  .\main.go:11: undefined: x

Kompiler memberi tahu bahwa variabel x di dalam fungsi f() tidak ada. Itu hanya ada di dalam fungsi utama. Rentang tempat di mana diizinkan untuk menggunakan x disebut ruang lingkup variabel.

Pada dasarnya, variabel ada di dalam kurung kurawal terdekat {} (blok) termasuk kurung kurawal bersarang (blok), tetapi tidak di luarnya. Lingkup dapat sedikit membingungkan pada awalnya; seperti yang kita lihat lebih banyak contoh Go, itu akan menjadi lebih jelas.

Constants

Go juga memiliki dukungan untuk konstanta. Konstanta pada dasarnya adalah variabel yang nilainya tidak dapat diubah nanti. Mereka dibuat dengan cara yang sama seperti membuat variabel tetapi alih-alih menggunakan kata kunci var, kami menggunakan kata kunci const.

go
1package main
2
3import "fmt"
4
5func main() {
6	const x string = "Hello World"
7	fmt.Println(x)
8}
Lalu kita coba menambahkan 1 baris dibawah constant seperti ini
go
1  const x string = "Hello World"
2  x = "Some other string"
maka compiler akan mengeluarkan error seperti ini
bash
1.\main.go:7: cannot assign to x

Penggunaan constant hanya digunakan untuk variable yang tidak akan di write setiap kali. Misalnya Pi dalam matematika ini bisa dijadikan tipenya sebagai constant.

Multiple Definition

Go juga bisa mempermudah penginisialisasian variabel dengan cara multiple definition seperti contoh dibawah ini.

go
1var ( 
2  a = 5
3  b = 10
4  c = 15 
5)
Multiple definision ini bisa digunakan untuk var dan const.

Program untuk membaca variable

Berikut ini contoh menginput variabel dengan scan program

go
 1package main
 2
 3import "fmt"
 4
 5func main() {
 6	fmt.Print("Enter a number: ")
 7	var input float64
 8	fmt.Scanf("%f", &input)
 9	output := input * 2
10	fmt.Println(output)
11}

maka output:

bash
1Enter a number: 4
28

Artikel Terkait

💬 Komentar