Go'da switch Deyimleri
Etiketli ve etiketsiz switch, fallthrough
Go'da switch Deyimleri, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.
switch Temelleri
Go'nun switch ifadesi C'dekinden daha güçlüdür: varsayılan olarak sonraki duruma geçiş yapmaz ve durumlar birden çok değer içerebilir:
day := "Monday"
switch day {
case "Saturday", "Sunday":
fmt.Println("Weekend")
default:
fmt.Println("Weekday")
}Örtük Fallthrough Yok
Go'da her case gövdesi otomatik olarak sonlanır — açıkça break yazmanız gereken C'nin aksine:
- Daha temiz kod, daha az hata
- C tarzı davranış gerektiğinde
fallthroughifadesini açıkça kullanın (nadiren gerekir)
Başlangıç İfadeli switch
if gibi switch de isteğe bağlı bir başlangıç ifadesi kabul eder:
switch os := runtime.GOOS; os {
case "linux":
fmt.Println("Linux")
case "darwin":
fmt.Println("macOS")
default:
fmt.Printf("Other: %s\n", os)
}Etiketsiz switch (if-else Zincirine Alternatif)
Etiketsiz switch'te anahtar sözcükten sonra ifade bulunmaz — her case bir mantıksal ifadeyi değerlendirir:
score := 75
switch {
case score >= 90:
fmt.Println("A")
case score >= 80:
fmt.Println("B")
case score >= 70:
fmt.Println("C")
default:
fmt.Println("F")
}Tür switch'i
Tür switch'i, bir arayüz değerinin dinamik türünü inceler:
func describe(i interface{}) {
switch v := i.(type) {
case int:
fmt.Printf("int: %d\n", v)
case string:
fmt.Printf("string: %s\n", v)
default:
fmt.Printf("unknown: %T\n", v)
}
}fallthrough
Koşulundan bağımsız olarak sonraki case gövdesini açıkça çalıştırmak için fallthrough kullanın (nadiren gerekir):
n := 1
switch n {
case 1:
fmt.Println("one")
fallthrough
case 2:
fmt.Println("one or two")
}Her Case İçin Birden Çok Değer
Tek bir case içinde birden çok değeri virgüllerle ayırarak listeleyin:
func isVowel(c byte) bool {
switch c {
case 'a', 'e', 'i', 'o', 'u':
return true
}
return false
}switch ve if-else Karşılaştırması
Şu durumlarda switch kullanın:
- Bir ifadeyi çok sayıda değerle karşılaştırıyorsanız
- Arayüz dağıtımı için tür switch'ine ihtiyacınız varsa
- Bir if-else zinciri yerine okunabilirlik artıyorsa
Koşullar farklı mantıksal ifadeler olduğunda if-else kullanın.
switch içinde break
Bir switch ifadesinden erken çıkmak için break kullanın. Bir switch'in içinden dıştaki döngüden çıkmak için etiketli break kullanın:
loop:
for {
switch input() {
case "quit":
break loop // exits the for loop
}
}Varsayılan Durum
Hiçbir başka durum eşleşmediğinde default durumu çalışır. En iyi uygulamalar:
- Numaralandırmaları işlerken beklenmeyen değerleri yakalamak için her zaman
defaultekleyin - Okunabilirlik için bunu en alta yerleştirin
- Tür switch'lerinde desteklenmeyen türleri uygun şekilde ele almak için
defaultkullanın
Hızlı Kontrol
Go'da bir switch durumu eşleştiğinde ne olur — çalıştırma sonraki duruma geçer mi?
Özet: Go'da switch
Go'nun switch ifadesi sade ve güçlüdür:
- Örtük fallthrough yoktur —
fallthroughifadesini açıkça kullanın - Geçici değişkenlerin kapsamını belirlemek için başlangıç ifadesi
- if-else zincirine alternatif olarak etiketsiz switch
- Arayüz dağıtımı için tür switch'i
- Virgülle ayırarak her case için birden çok değer
Sonraki konu: break, continue ve etiketlerle döngü denetimi.
Sıkça Sorulan Sorular
“Go'da switch Deyimleri” dersi ücretsiz mi?
Evet — “Go'da switch Deyimleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.
“Go'da switch Deyimleri” dersinde ne öğreneceğim?
Etiketli ve etiketsiz switch, fallthrough Go Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Go Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Go Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Go'da switch Deyimleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Go Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Go Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- if Deyimleri ve Başlatma İfadeleri
- for Döngüsü: Tüm Örüntüler
- Go'da switch Deyimleri
- break, continue ve Etiketler