A.11. Konstanta
Konstanta adalah jenis variabel yang nilainya tidak bisa diubah setelah dideklarasikan. Inisialisasi nilai konstanta hanya dilakukan sekali saja di awal, setelah itu variabel tidak bisa diubah nilainya.
A.11.1. Penggunaan Konstanta
Data seperti pi (22/7), kecepatan cahaya (299.792.458 m/s), adalah contoh data yang tepat untuk dideklarasikan sebagai konstanta (daripada variabel), karena nilainya sudah pasti dan tidak akan berubah.
Cara penerapan konstanta sama seperti deklarasi variabel biasa, perbedaannya ada pada keyword yang digunakan, yaitu const
(bukan var
).
const firstName string = "john"
fmt.Print("halo ", firstName, "!\n")
Teknik type inference bisa diterapkan pada konstanta, caranya cukup dengan menghilangkan tipe data pada saat deklarasi.
const lastName = "wick"
fmt.Print("nice to meet you ", lastName, "!\n")
◉ Penggunaan Fungsi fmt.Print()
Fungsi ini memiliki peran yang sama seperti fungsi fmt.Println()
, perbedaannya fungsi fmt.Print()
tidak menghasilkan baris baru di akhir output-nya.
Perbedaan lainnya: nilai argument parameter yang ditulis saat pemanggilan fungsi akan di-print tanpa pemisah. Tidak seperti pada fungsi fmt.Println()
yang nilai argument paremeternya dipisah menggunakan karakter spasi.
fmt.Println("john wick")
fmt.Println("john", "wick")
fmt.Print("john wick\n")
fmt.Print("john ", "wick\n")
fmt.Print("john", " ", "wick\n")
Kode di atas menunjukkan perbedaan antara fmt.Println()
dan fmt.Print()
. Output yang dihasilkan oleh 5 statement di atas adalah sama, meski cara yang digunakan berbeda.
Bila menggunakan fmt.Println()
, maka tidak perlu menambahkan spasi di tiap kata, karena fungsi tersebut akan secara otomatis menambahkannya di sela-sela text. Berbeda dengan fmt.Print()
yang perlu ditambahkan spasi, karena fungsi ini tidak menambahkan spasi secara otomatis di sela-sela nilai text yang digabungkan.
A.11.2. Deklarasi Multi Konstanta
Sama seperti variabel, konstanta juga dapat dideklarasikan secara bersamaan. Berikut adalah contoh deklarasi konstanta dengan tipe data dan nilai yang berbeda.
const (
square = "kotak"
isToday bool = true
numeric uint8 = 1
floatNum = 2.2
)
square
, dideklarasikan dengan metode type inference dengan tipe data string dan nilainya "kotak"isToday
, dideklarasikan dengan metode manifest typing dengan tipe data bool dan nilainya truenumeric
, dideklarasikan dengan metode manifest typing dengan tipe data uint8 dan nilainya 1floatNum
, dideklarasikan dengan metode type inference dengan tipe data float dan nilainya 2.2
Contoh deklarasi konstanta dengan tipe data dan nilai yang sama:
const (
a = "konstanta"
b
)
Ketika tipe data dan nilai tidak dituliskan dalam deklarasi konstanta, maka tipe data dan nilai yang dipergunakan adalah sama seperti konstanta yang dideklarasikan diatasnya.
a
dideklarasikan dengan metode type inference dengan tipe data string dan nilainya "konstanta"b
dideklarasikan dengan metode type inference dengan tipe data string dan nilainya "konstanta"
Berikut contoh gabungan dari keduanya:
const (
today string = "senin"
sekarang
isToday2 = true
)
today
dideklarasikan dengan metode manifest typing dengan tipe data string dan nilainya "senin"sekarang
dideklarasikan dengan metode manifest typing dengan tipe data string dan nilainya "senin"isToday2
dideklarasikan dengan metode type inference dengan tipe data bool dan nilainya true
Berikut contoh deklrasi multiple konstanta dalam satu baris:
const satu, dua = 1, 2
const three, four string = "tiga", "empat"
satu
, dideklarasikan dengan metode type inference dengan tipe data int dan nilainya 1dua
, dideklarasikan dengan metode type inference dengan tipe data int dan nilainya 2three
, dideklarasikan dengan metode manifest typing dengan tipe data string dan nilainya "tiga"four
, dideklarasikan dengan metode manifest typing dengan tipe data string dan nilainya "empat"