`fallthrough` Anahtar Kelimesi
Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası — ders 42 / 109.
Go'da, fallthrough anahtar kelimesi, bir eşleşme bulunduktan sonra bile bir switch ifadesindeki bir sonraki case'e yürütmenin devam etmesini sağlar. Bunun nasıl çalıştığını inceleyelim.
İlk olarak, bir sayıyı tanımlamak için fallthrough anahtar kelimesini kullanan basit bir switch ifadesi oluşturalım:
num := 15
switch {
case num < 20:
fmt.Print("Less than 20 ")
fallthrough
case num > 10:
fmt.Print("Greater than 10 ")
fallthrough
case num > 0:
fmt.Print("Positive number")
}Bu kodu çalıştırdıktan sonra, ekranda her üç mesajın da yazdırıldığını göreceğiz:
Less than 20 Greater than 10 Positive numberBu durum, ilk durum eşleştiği için gerçekleşir (15, 20'den küçüktür) ve fallthrough anahtar kelimesi Go'yu ikinci durumu da çalıştırmaya zorlar. Ardından ikinci durum da fallthrough kullanır, bu da Go'nun üçüncü durumu da çalıştırmasını sağlar. fallthrough olmadan, yalnızca eşleşen ilk durum çalışırdı.
Unutmayın ki fallthrough, koşulunun doğru olup olmadığına bakılmaksızın bir sonraki case'i çalıştıracaktır. Örneğimizde, 15 sayısı için tüm koşullar doğrudur, ancak bir sonraki case, koşulu yanlış olsa bile çalışacaktır.
Görev
BaşlangıçBu meydan okumada, bir switch ifadesinde fallthrough anahtar kelimesini kullanma pratiği yapacaksınız. fallthrough anahtar kelimesi, bir eşleşme bulunduktan sonra bile yürütmenin bir sonraki case'e devam etmesini sağlar.
Haftanın bir gününü temsil eden bir değişkeniniz var. Göreviniz, gün 'Monday' olduğunda programın hem 'It's a weekday!' hem de 'Time to work!' yazdırmasını sağlamak için fallthrough anahtar kelimesini uygun yere eklemektir.
Kopya kağıdı
fallthrough anahtar kelimesi, bir eşleşme bulunduktan sonra bile yürütmenin bir switch ifadesindeki bir sonraki case'e devam etmesini sağlar:
num := 15
switch {
case num < 20:
fmt.Print("Less than 20 ")
fallthrough
case num > 10:
fmt.Print("Greater than 10 ")
fallthrough
case num > 0:
fmt.Print("Positive number")
}Bu şu çıktıyı verecektir: Less than 20 Greater than 10 Positive number
fallthrough, koşulun doğru veya yanlış olmasına bakılmaksızın bir sonraki case'i yürütür.
Kendin dene
package main
import "fmt"
func main() {
// Haftanın bir gününü temsil eden bir değişken
day := "Monday"
// Günü kontrol etmek için switch ifadesi
switch day {
case "Monday":
fmt.Println("It's a weekday!")
// TODO: Bir sonraki case'e devam etmek için buraya fallthrough anahtar kelimesini ekleyin
case "Tuesday", "Wednesday", "Thursday", "Friday":
fmt.Println("Time to work!")
case "Saturday", "Sunday":
fmt.Println("It's the weekend!")
default:
fmt.Println("Invalid 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 Verme