İfadeli `switch`
Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası. Ders 40 / 109.
Go'da her case içinde koşulları doğrudan değerlendirmemizi sağlayan switch deyimlerinde ifadeleri kullanmayı öğrenelim.
Önce, bir sayının pozitif, negatif veya sıfır olup olmadığını kontrol etmek için her case içinde bir koşul bulunan bir switch ifadesinin nasıl kullanılacağını görelim:
num := -5
switch {
case num > 0:
fmt.Println("Positive number")
case num < 0:
fmt.Println("Negative number")
default:
fmt.Println("Zero")
}Bu kodu çalıştırdıktan sonra program ekranda şunu gösterecek:
Negative numberswitch { ifadesini, ardından herhangi bir değer gelmeden kullandığımıza dikkat edin. Bu, Go'nun her case ifadesini bir boole koşulu olarak değerlendireceği anlamına gelir. num -5 olduğundan, ikinci case olan num < 0 true olarak değerlendirilir ve bu nedenle "Negative number" yazdırılır.
Bir değişkeni doğrudan switch deyiminin içinde de başlatabiliriz. Nasıl çalıştığını görelim:
switch num := -5; {
case num > 0:
fmt.Println("Positive number")
case num < 0:
fmt.Println("Negative number")
default:
fmt.Println("Zero")
}Bu kodu çalıştırdıktan sonra aynı sonucu elde ederiz:
Negative numberBu örnekte, num değişkenini doğrudan switch ifadesinde tanımlayıp başlattık. Noktalı virgül, başlatmayı switch ifadesinden ayırır (burada switch ifadesi boştur). Böylece aynı işlevselliği korurken kodumuzu daha kompakt hâle getiririz.
Görev
Başlangıçswitch ifadesi kullanma pratiği yapacaksın. Bir günün açıklamasını adına göre belirlemek için switch deyimini kullanarak kodu tamamlaman gerekiyor.dayName değişkeni "Wednesday" değeriyle zaten tanımlanmış. Görevin, switch ifadesini kullanarak description değişkenine şunlardan uygun olanı atamak:- Pazartesi için
"Start of the week"- Çarşamba için
"Midweek"- Cuma için
"Almost weekend"- Cumartesi veya Pazar için
"Weekend"- Diğer tüm günler için
"Regular day"Kendin dene
// TODO: dayName değerine göre description değerini ayarlayan bir switch ifadesi yazın
// Monday için: "Start of the week"
// Wednesday için: "Midweek"
// Friday için: "Almost weekend"
// Saturday veya Sunday için: "Weekend"
// Diğer tüm günler için: "Regular day"
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 VermeKendi başına pratik yap: Online Go derleyicisi