Konstanta & iota
Membuat nilai tetap dengan const dan penghitung otomatis iota.
const
const mendefinisikan nilai yang tidak bisa diubah selama program berjalan, dan nilainya sudah dihitung saat kompilasi.
const Pi = 3.14159
const NamaAplikasi = "KelasIT"
Mencoba mengubah konstanta menyebabkan error kompilasi.
Blok const
const (
Host = "localhost"
Port = 8080
)
Konstanta tanpa tipe
Konstanta seperti const x = 5 bersifat untyped: ia bisa dipakai sebagai int maupun float64 tanpa konversi, selama nilainya cocok.
const x = 5
var a int = x
var b float64 = x // boleh
iota — penghitung otomatis
Di dalam blok const, iota bernilai 0 pada baris pertama lalu naik 1 setiap baris. Baris tanpa nilai akan mengulang ekspresi baris sebelumnya.
const (
Minggu = iota // 0
Senin // 1
Selasa // 2
)
Ini adalah cara Go membuat "enum".
Memulai dari angka lain
const (
Senin = iota + 1 // 1
Selasa // 2
Rabu // 3
)
iota dalam rumus
const (
_ = iota
KB = 1 << (10 * iota) // 1024
MB // 1048576
GB // 1073741824
)
_ membuang nilai 0 karena kita tidak membutuhkannya.
Tipe untuk enum
Biasanya enum diberi tipe sendiri agar lebih aman:
type Hari int
const (
Senin Hari = iota + 1
Selasa
)