`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 numberPerhatikan 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 numberDalam 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.
Tantangan
Pemulaswitch 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 lainnyaCoba 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)
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Perbandingan dan Logika
Operator Perbandingan, Bagian 1Operator Perbandingan, Bagian 2Operator AND LogikaOperator OR LogikaOperator NOT LogikaDasar Prioritas OperatorRingkasan, Membuat Perbandingan7Alur Kontrol: Perulangan
Penjelasan tentang `for` loop`for` loop Dasar`for` loop dengan Kondisi SajaKata Kunci `break`Kata Kunci `continue`Perulangan BersarangRangkuman: Mengulang Tindakan2Variabel dan Tipe Data Dasar
Apa itu variabelInferensi Tipe dengan `:=`Bilangan Bulat (int)Bilangan Floating-PointBooleanstringNilai NolKonstantaKonvensi PenamaanRangkuman: Variabel dan Tipe5Input/Output Dasar
Output TerformatKata Kerja FormatMencetak Tipe DataMendapatkan Input Dasar dari PenggunaRangkuman: Input dan Output8Fungsi
Memahami FungsiMendeklarasikan FungsiMemanggil FungsiParameter FungsiMengembalikan Satu NilaiMengembalikan Beberapa NilaiNilai Kembalian BernamaDasar Cakupan FungsiRangkuman: Membuat Kodemu Dapat Digunakan Kembali3Operator Dasar
Operator AritmetikaOperator PembagianOperator ModuloOperator PenugasanOperator Penugasan GabunganInkrementasi dan DekrementasiRangkuman: Perhitungan6Alur Kontrol: Percabangan
Pernyataan `if`Kata Kunci `else`Kata Kunci `else if`Shadowing Variabel dalam `if`Menginisialisasi VariabelPernyataan `switch``switch` dengan Ekspresi`switch` tanpa EkspresiKata Kunci `fallthrough`Ringkasan: Membuat KeputusanLatihan sendiri: Compiler Go online