Seleksi kondisi
Ambil keputusan dengan if/else dan switch.
Pahami konsepnya
Blok if menjalankan kodenya hanya bila kondisinya true. Rantai else if menyediakan cabang tambahan dan else menampung sisanya. Berbeda dari banyak bahasa, kondisi tidak dibungkus tanda kurung, tetapi kurung kurawal wajib — bahkan bila isinya hanya satu pernyataan.
if bisa diawali pernyataan singkat yang variabelnya hanya hidup di dalam blok itu: if sisa := n % 2; sisa == 0 { ... }. Pola ini sering dipakai untuk menyiapkan nilai penentu tepat sebelum keputusan diambil, tanpa menodai cakupan luar.
switch hadir dalam dua rupa. Switch bernilai membandingkan satu variabel terhadap banyak case; switch tanpa nilai (seperti contoh) memeriksa kondisi berurutan seperti if/else if yang dirapikan. Setiap case berhenti sendiri tanpa break — tapi bila kamu sengaja ingin jatuh ke case berikutnya, tulis fallthrough.
Coba contoh kode
package main
import "fmt"
func main() {
nilai := 82
switch {
case nilai >= 90:
fmt.Println("A")
case nilai >= 80:
fmt.Println("B")
default:
fmt.Println("C")
}
}switch tanpa nilai memeriksa tiap case dari atas ke bawah; untuk 82, case nilai >= 80 adalah yang pertama terpenuhi sehingga cetakannya B dan sisanya dilewati. default berjalan bila tidak ada case yang cocok. Coba gabungkan dua kondisi dalam satu case dengan koma: case nilai >= 90, nilai == 100.
Switch bernilai dan fallthrough
func main() {
hari := "sabtu"
switch hari {
case "sabtu", "minggu":
fmt.Println("Weekend!")
fallthrough
case "jumat":
fmt.Println("Santai.")
default:
fmt.Println("Hari kerja.")
}
}Satu case bisa memuat beberapa nilai sekaligus lewat koma. fallthrough memaksa eksekusi lanjut ke case berikutnya tanpa memeriksa kondisinya — dipakai jarang, tapi penting kamu tahu ada: "sabtu" mencetak Weekend! lalu lanjut mencetak Santai.
Latihan singkat
Uji: tulis if/else-if/else dengan cabang >= 60 → `C+`. Dengan nilai 82 harus mencetak `B`; ganti ke 60 dan harus mencetak `C+`.