← Kembali ke kursus
Pelajaran kursus · Go
Pelajaran 10

Konstanta dan operator

Nilai tetap dengan const serta operasi angka dan perbandingan.

Pahami konsepnya

const mendeklarasikan nilai yang dikunci saat kompilasi — sekali ditetapkan, tidak bisa diubah. Ia cocok untuk tarif, batas, atau label tetap. Beberapa konstanta sejenis bisa dikelompokkan dalam satu blok const agar rapi.

Operator aritmatika standar tersedia: +, -, *, /, dan % untuk sisa pembagian. Penting diingat, pembagian dua bilangan bulat menghasilkan bilangan bulat juga — sisanya dibuang — sehingga 7 / 2 bernilai 3. Bila butuh hasil desimal, salah satunya perlu menjadi float64. Operator perbandingan (== != < > <= >=) selalu menghasilkan bool, dan operator logika && (dan), || (atau), ! (tidak) menggabungkan beberapa perbandingan. Penyingkat seperti += dan ++ tersedia untuk memperbarui nilai di tempat.

Trik khas Go bernama iota: di dalam blok const, iota adalah penghitung yang bertambah satu pada setiap baris. Ia menggantikan enumerasi manual — cara idiomatis mendefinisikan daftar nilai berurutan seperti hari, level, atau kode status.

Coba contoh kode

package main

import "fmt"

const tarifOjol = 2500

func main() {
    km := 6
    total := tarifOjol * km
    murah := total < 20000
    fmt.Println("Total:", total, "Murah?", murah)
}

Tarif per kilometer dibuat const karena tidak berubah selama program hidup. Ekspresi tarifOjol * km menghitung total, lalu total < 20000 menghasilkan bool yang disimpan di murah. Ubah nilai km dan perhatikan bagaimana murah ikut berubah — begitu total melewati batas, nilainya berganti false.

Enumerasi dengan iota

const (
    Senin = iota + 1 // 1
    Selasa           // 2
    Rabu             // 3
    Kamis            // 4
    Jumat            // 5
)

func main() {
    fmt.Println(Senin, Jumat) // 1 5
}

iota dimulai dari nol dan bertambah satu per baris dalam blok const — ekspresi iota + 1 di baris pertama diulang otomatis di baris berikutnya, jadi Selasa sampai Jumat tidak perlu ditulis ulang. Hasilnya daftar konstanta berurutan yang rapi dan bebas salah tulis.

Latihan singkat

Uji: hitung harga setelah diskon 10% — program harus mencetak persis `225000`.