İfadesiz `switch`
Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası — ders 41 / 109.
Go'da, anahtar kelimeden sonra ifadesiz bir switch deyimi kullanabiliriz. Bu, birden fazla koşulu temiz bir şekilde değerlendirmek istediğimizde kullanışlıdır.
Bir kişiyi yaşına göre kategorize eden bir program oluşturalım:
age := 25
switch {
case age < 13:
fmt.Println("Child")
case age < 20:
fmt.Println("Teenager")
case age < 30:
fmt.Println("Young Adult")
default:
fmt.Println("Adult")
}Bu kodu çalıştırdıktan sonra program her bir case koşulunu sırayla kontrol edecektir. Yaşımız 25 olduğu için 13 veya 20'den küçük değildir, ancak 30'dan küçüktür; bu nedenle üçüncü case eşleşir. Ekranda "Young Adult" metni görünecektir:
Young Adultswitch ifadesinden sonra bir ifade bulunmadığında, her bir case'in true veya false olarak değerlendirilen bir boolean koşulu haline geldiğine dikkat edin. True olarak değerlendirilen ilk case, kendi kod bloğunu çalıştıracaktır.
Eğer durumlardan hiçbiri eşleşmezse, default durumu çalışır. Örneğimizde, eğer age 35 olsaydı, çıktı "Adult" olurdu.
Görev
KolayBu meydan okumada, bir ifade olmadan switch ifadesi kullanma pratiği yapacaksınız. Bu tür bir switch, if-else ifadelerini tekrarlamadan birden fazla koşulu değerlendirmek istediğinizde kullanışlıdır.
Geçerli saati (24 saatlik formatta) temsil eden bir timeOfDay değişkeni sağladık. Göreviniz, günün saatine göre uygun bir selamlama yazdırmak için bir ifade içermeyen switch ifadesini tamamlamaktır.
Kopya kağıdı
İfadesiz bir switch deyimi, birden fazla koşulu temiz bir şekilde değerlendirmenize olanak tanır:
age := 25
switch {
case age < 13:
fmt.Println("Child")
case age < 20:
fmt.Println("Teenager")
case age < 30:
fmt.Println("Young Adult")
default:
fmt.Println("Adult")
}Her bir case, true veya false olarak değerlendirilen bir boolean koşul haline gelir. True olarak değerlendirilen ilk case, kendi kod bloğunu çalıştırır. Hiçbir case eşleşmezse, default case'i çalışır.
Kendin dene
package main
import "fmt"
func main() {
// Bu, 24 saatlik formatta (0-23) geçerli saati temsil eder
timeOfDay := 14 // Bu saat 14:00'ü temsil eder
// TODO: Günün saatine göre uygun selamlamayı yazdırmak için
// bir ifade içermeyen switch deyimini tamamlayın
switch {
// Durumlarınızı buraya ekleyin
default:
fmt.Println("Hello!")
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Karşılaştırma ve Mantıksal Operatörler
Karşılaştırma Operatörleri - Bölüm 1Karşılaştırma Operatörleri - Bölüm 2Mantıksal VE OperatörüMantıksal VEYA OperatörüMantıksal DEĞİL OperatörüOperatör Önceliği TemelleriÖzet - Karşılaştırma Yapma7Kontrol Akışı: Döngüler
`for` Döngüsü Nedir?`for` Döngüsü - Temel`for` Döngüsü - Sadece Koşul`break` Anahtar Kelimesi`continue` Anahtar Kelimesiİç İçe DöngülerÖzet - İşlemleri Tekrarlama2Değişkenler ve Temel Veri Tipleri
Değişken nedir?`:=` ile Tür ÇıkarımıTam Sayılar (int)Ondalıklı SayılarBooleanlarStringlerSıfır DeğerlerSabitlerİsimlendirme KurallarıÖzet - Değişkenler ve Türler5Temel Giriş/Çıkış
Biçimlendirilmiş ÇıktıBiçim BelirteçleriVeri Tiplerini YazdırmaTemel Kullanıcı Girdisi AlmaÖzet - Giriş ve Çıkış8Fonksiyonlar
Fonksiyonları AnlamakFonksiyon TanımlamaFonksiyonları ÇağırmaFonksiyon ParametreleriTek Bir Değer DöndürmeBirden Fazla Değer Döndürmeİsimlendirilmiş Dönüş DeğerleriFonksiyon Kapsamı TemelleriÖzet - Yeniden Kullanılabilir Kod Oluşturma3Temel Operatörler
Aritmetik OperatörlerBölme OperatörüModulo OperatörüAtama OperatörüBileşik Atama OperatörleriArtırma ve AzaltmaÖzet - Hesaplamalar6Kontrol Akışı: Koşullu İfadeler
`if` İfadesi`else` Anahtar Kelimesi`else if` Anahtar Kelimesi`if` İçinde Değişken GölgelemeDeğişkenleri Başlatma`switch` İfadesiİfadeli `switch`İfadesiz `switch``fallthrough` Anahtar KelimesiÖzet - Karar Verme