Menu
Coddy logo textTech

`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 number

Bu 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.

challenge icon

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!")
	}
}
quiz iconKendini test et

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