Switch — Go

Switch di Go Switch di Go lebih fleksibel dibanding bahasa lain. Yang paling penting: tidak perlu break — setiap case otomatis berhenti setelah dieksekusi. Swit

Switch di Go

Switch di Go lebih fleksibel dibanding bahasa lain. Yang paling penting: tidak perlu break — setiap case otomatis berhenti setelah dieksekusi.

Switch Dasar

hari := "Senin"

switch hari {
case "Senin":
    fmt.Println("Hari kerja pertama")
case "Sabtu", "Minggu":
    fmt.Println("Weekend!")
default:
    fmt.Println("Hari kerja biasa")
}

Switch tanpa Ekspresi

Switch tanpa ekspresi berfungsi seperti rangkaian if-else:

suhu := 35

switch {
case suhu >= 40:
    fmt.Println("Sangat panas!")
case suhu >= 30:
    fmt.Println("Panas")
case suhu >= 20:
    fmt.Println("Nyaman")
default:
    fmt.Println("Dingin")
}

Fallthrough

Jika kamu ingin lanjut ke case berikutnya (seperti behavior default di C/Java), gunakan keyword fallthrough:

x := 1
switch x {
case 1:
    fmt.Println("Satu")
    fallthrough
case 2:
    fmt.Println("Dua")
}
// Output: Satu, Dua

Type Switch

Go bisa switch berdasarkan tipe data (berguna dengan interface{}):

var nilai interface{} = "hello"

switch v := nilai.(type) {
case int:
    fmt.Println("Integer:", v)
case string:
    fmt.Println("String:", v)
default:
    fmt.Println("Tipe lain")
}

Yang akan kamu pelajari