Percabangan: if, else & switch

Mengambil keputusan dengan if/else dan switch (tanpa break).

Part 7 dari 23 ± 30 menit Gratis

if dan else

nilai := 82
if nilai >= 90 {
    fmt.Println("A")
} else if nilai >= 75 {
    fmt.Println("B")
} else {
    fmt.Println("C")
}

Aturan Go: tanpa tanda kurung di sekitar kondisi, tetapi kurung kurawal wajib, dan else harus satu baris dengan }.

if dengan pernyataan awal

Ciri khas Go: kamu boleh menaruh pernyataan singkat sebelum kondisi. Variable-nya hanya hidup di blok if tersebut.

if n, err := strconv.Atoi("42"); err == nil {
    fmt.Println("angka:", n)
}

Pola ini sangat umum untuk memeriksa error.

switch

hari := "minggu"
switch hari {
case "sabtu", "minggu":
    fmt.Println("Libur")
case "senin":
    fmt.Println("Mulai kerja")
default:
    fmt.Println("Hari biasa")
}
  • Satu case boleh memuat banyak nilai (dipisah koma).
  • Berbeda dari C/Java, Go otomatis berhenti setelah satu case — tidak perlu break.
  • Gunakan fallthrough jika memang ingin lanjut ke case berikutnya (jarang).

switch tanpa ekspresi

Mirip rangkaian if-else, tetapi lebih rapi:

skor := 82
switch {
case skor >= 90:
    fmt.Println("A")
case skor >= 75:
    fmt.Println("B")
default:
    fmt.Println("C")
}

Type switch (sekilas)

switch v := x.(type) {
case int:    fmt.Println("int", v)
case string: fmt.Println("string", v)
}

Akan lebih bermakna setelah kamu mempelajari interface.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X