`switch` İfadesi
Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası — ders 39 / 109.
Birçok if/else if ifadesi kullanmaya kıyasla birden fazla koşulu kontrol etmek için daha temiz bir yol sunan Go'daki switch ifadesini öğrenelim.
İlk olarak, bir gün numarasını değerlendiren ve ilgili gün adını yazdıran basit bir program oluşturalım:
day := 3
switch day {
case 1:
fmt.Println("Monday")
case 2:
fmt.Println("Tuesday")
case 3:
fmt.Println("Wednesday")
default:
fmt.Println("Another day")
}
Bu kodu çalıştırdıktan sonra program, day değerini (değeri 3 olan) kontrol edecek ve onu uygun case ile eşleştirecektir. day 3'e eşit olduğu için program, case 3 altındaki kodu yürütecek ve ekranda şunu gösterecektir:
Wednesdayswitch ifadesi, bir eşleşme bulana kadar her bir case durumunu sırayla kontrol eder. Eğer hiçbir eşleşme bulunamazsa, default durumu altındaki kodu çalıştırır. Bu, kodunuzu birden fazla if/else if ifadesi yazmaktan çok daha temiz hale getirir.
Görev
Başlangıçswitch ifadesini kullanma pratiği yapacaksınız. Size haftanın bir gününü temsil eden bir değişken verilecek ve bunun bir hafta içi mi yoksa hafta sonu mu olduğunu görüntülemek için switch ifadesini tamamlamanız gerekiyor.Kopya kağıdı
Go'daki switch ifadesi, birçok if/else if ifadesi kullanmaya kıyasla birden fazla koşulu kontrol etmek için daha temiz bir yol sağlar.
Temel sözdizimi:
switch variable {
case value1:
// yürütülecek kod
case value2:
// yürütülecek kod
default:
// eşleşme olmazsa yürütülecek kod
}
Örnek:
day := 3
switch day {
case 1:
fmt.Println("Monday")
case 2:
fmt.Println("Tuesday")
case 3:
fmt.Println("Wednesday")
default:
fmt.Println("Another day")
}
switch ifadesi, bir eşleşme bulana kadar her bir case'i sırayla kontrol eder. Eğer eşleşme bulunamazsa, default durumu altındaki kodu yürütür.
Kendin dene
package main
import "fmt"
func main() {
// Bu değişken haftanın bir gününü temsil eder
day := "Saturday"
// TODO: Günün hafta içi mi yoksa hafta sonu mu olduğunu kontrol etmek için switch ifadesini tamamlayın
switch day {
// Hafta sonu günleri (Cumartesi ve Pazar) için vakalar ekleyin ve "It's the weekend!" yazdırın
// Hafta içi günler için varsayılan bir vaka ekleyin ve "It's a weekday." yazdırın
}
}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