İfadesiz `switch`
Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası. Ders 41 / 109.
Go'da, anahtar kelimeden sonra bir ifade içermeyen switch deyimi kullanabiliriz. Bu, birden çok koşulu düzenli bir şekilde değerlendirmek istediğimizde kullanışlıdır.
Bir kişiyi yaşına göre kategorilere ayıran 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 kod çalıştırıldıktan sonra program her durum koşulunu sırayla kontrol eder. Yaşımız 25 olduğundan 13'ten veya 20'den küçük değildir, ancak 30'dan küçüktür; bu nedenle üçüncü durum eşleşir. Ekranda "Young Adult" metni görünecektir:
Young Adultswitch sonrasında expression olmadan, her case'in true veya false olarak değerlendirilen bir boolean koşula dönüştüğüne dikkat et. true olarak değerlendirilen ilk case, kod bloğunu çalıştırır.
Durumlardan hiçbiri eşleşmezse default durumu çalıştırılır. Örneğimizde, yaş 35 olsaydı çıktı "Adult" olurdu.
Görev
KolayBu mücadelede, bir ifade olmadan switch deyimini kullanma pratiği yapacaksın. Bu tür bir switch, if-else deyimlerini tekrarlamadan birden çok koşulu değerlendirmek istediğinde kullanışlıdır.
Geçerli saati (24 saatlik biçimde) temsil eden timeOfDay değişkenini sağladık. Görevin, günün saatine göre uygun bir selamlama yazdırmak için ifadesiz switch deyimini tamamlamaktır.
Bu aralıkları kullan ve tam olarak şu mesajları yazdır:
- 5 ile 11 arası:
Good morning! - 12 ile 17 arası:
Good afternoon! - 18 ile 21 arası:
Good evening! - diğer herhangi bir saat:
Hello!(defaultdurumu zaten yazılmıştır)
timeOfDay = 14 olduğunda program Good afternoon! yazdırır.
Kendin dene
package main
import "fmt"
func main() {
// Bu, 24 saatlik formatta (0-23) mevcut saati temsil eder
timeOfDay := 14 // Bu 2:00 PM
// TODO: İfade olmadan switch ifadesini tamamlayın
// günün saatine göre uygun selamlamayı yazdırmak için
switch {
// Case'lerinizi 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 VermeKendi başına pratik yap: Online Go derleyicisi