Menu
CoddyTech

`switch` dengan Ekspresi

Termasuk bagian Dasar-Dasar dalam perjalanan GO di Coddy. Pelajaran 40 dari 109.

Mari pelajari ekspresi switch di Go, yang memungkinkan kita mengevaluasi nilai secara langsung dalam pernyataan switch.

Pertama, mari lihat cara menggunakan pernyataan switch dengan ekspresi untuk memeriksa apakah sebuah angka positif, negatif, atau nol:

num := -5
switch {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

Setelah menjalankan kode ini, program akan menampilkan di layar:

Negative number

Perhatikan bahwa kita menggunakan switch { tanpa nilai setelahnya. Artinya, Go akan mengevaluasi setiap ekspresi case sebagai kondisi boolean. Karena num bernilai -5, case kedua num < 0 bernilai true, sehingga "Negative number" dicetak.

Kita juga bisa menginisialisasi variabel tepat di dalam pernyataan switch. Mari lihat cara kerjanya:

switch num := -5; {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

Setelah menjalankan kode ini, kita mendapatkan hasil yang sama:

Negative number

Dalam contoh ini, kita mendeklarasikan dan menginisialisasi num langsung di pernyataan switch. Titik koma memisahkan inisialisasi dari ekspresi switch (yang kosong di sini). Ini membuat kode kita lebih ringkas tanpa mengubah fungsinya.

challenge icon

Tantangan

Pemula
Dalam tantangan ini, kamu akan berlatih menggunakan ekspresi switch sederhana di Go. Kamu perlu melengkapi kode untuk menentukan deskripsi hari berdasarkan namanya menggunakan pernyataan switch.

Variabel dayName sudah didefinisikan dengan nilai "Wednesday". Tugasmu adalah menggunakan ekspresi switch untuk menetapkan nilai variabel description menjadi:
- "Start of the week" untuk Monday
- "Midweek" untuk Wednesday
- "Almost weekend" untuk Friday
- "Weekend" untuk Saturday atau Sunday
- "Regular day" untuk hari lainnya

Coba sendiri

package main

import "fmt"

func main() {
	// Nama hari sudah ditentukan
	dayName := "Wednesday"
	
	// Variabel untuk menyimpan deskripsi
	var description string
	
	// TODO: Tulis pernyataan switch yang menetapkan deskripsi berdasarkan dayName
	// Untuk Monday: "Start of the week"
	// Untuk Wednesday: "Midweek"
	// Untuk Friday: "Almost weekend"
	// Untuk Saturday atau Sunday: "Weekend"
	// Untuk hari lainnya: "Regular day"
	
	
	// Cetak hasilnya
	fmt.Printf("%s is %s\n", dayName, description)
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Go online