Menu
Coddy logo textTech

İfadeli `switch`

Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası. Ders 40 / 109.

Go'da bir değeri doğrudan switch ifadesinde değerlendirmemizi sağlayan switch ifadelerini öğrenelim.

İlk olarak, bir sayının pozitif, negatif veya sıfır olup olmadığını kontrol etmek için bir ifadeyle switch ifadesinin nasıl kullanılacağına bakalım:

num := -5
switch {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

Bu kod çalıştırıldıktan sonra program ekranda şunu gösterecektir:

Negative number

switch { ifadesini, ardından herhangi bir değer olmadan kullandığımıza dikkat edin. Bu, Go’nun her case ifadesini bir boolean koşul olarak değerlendireceği anlamına gelir. num -5 olduğundan, ikinci num < 0 durumu true olarak değerlendirilir ve "Negative number" yazdırılır.

Bir değişkeni doğrudan switch ifadesi içinde de başlatabiliriz. Bunun nasıl çalıştığına bakalım:

switch num := -5; {
case num > 0:
    fmt.Println("Positive number")
case num < 0:
    fmt.Println("Negative number")
default:
    fmt.Println("Zero")
}

Bu kodu çalıştırdıktan sonra aynı sonucu elde ederiz:

Negative number

Bu örnekte, num değişkenini doğrudan switch deyiminde bildirdik ve başlattık. Noktalı virgül, başlatmayı switch ifadesinden (burada boş olan) ayırır. Bu, aynı işlevselliği korurken kodumuzu daha kısa hâle getirir.

challenge icon

Görev

Başlangıç
Bu meydan okumada, Go'da basit bir switch ifadesini kullanma pratiği yapacaksın. Bir günün adını temel alarak açıklamasını belirlemek için bir switch ifadesi kullanarak kodu tamamlaman gerekiyor.

dayName değişkeni "Wednesday" değeriyle zaten tanımlanmıştır. Görevin, description değişkenini şu şekilde ayarlamak için bir switch ifadesi kullanmaktır:
- Pazartesi için "Start of the week"
- Çarşamba için "Midweek"
- Cuma için "Almost weekend"
- Cumartesi veya Pazar için "Weekend"
- Diğer herhangi bir gün için "Regular day"

Kendin dene

package main

import "fmt"

func main() {
	// Gün adı zaten tanımlanmış
	dayName := "Wednesday"
	
	// Açıklamayı saklamak için değişken
	var description string
	
	// TODO: dayName'e göre description'ı ayarlayan bir switch ifadesi yaz
	// Monday için: "Start of the week"
	// Wednesday için: "Midweek"
	// Friday için: "Almost weekend"
	// Saturday veya Sunday için: "Weekend"
	// Diğer herhangi bir gün için: "Regular day"
	
	
	// Sonucu yazdır
	fmt.Printf("%s is %s\n", dayName, description)
}
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

Kendi başına pratik yap: Online Go derleyicisi