İ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 deyimi içinde değerlendirmemize olanak tanıyan switch ifadeleri hakkında bilgi edinelim.
İlk olarak, bir sayının pozitif, negatif veya sıfır olup olmadığını kontrol etmek için bir ifadeyle birlikte switch ifadesinin nasıl kullanılacağını görelim:
num := -5
switch {
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 program ekranda şunu gösterecektir:
Negative numberswitch { ifadesini, arkasından herhangi bir değer gelmeden kullandığımıza dikkat edin. Bu, Go'nun her bir case ifadesini bir boolean koşulu olarak değerlendireceği anlamına gelir. num -5 olduğu için, ikinci case olan num < 0 true olarak değerlendirilir, bu nedenle "Negatif sayı" yazdırılır.
Ayrıca bir değişkeni doğrudan switch ifadesi içinde de başlatabiliriz. Bunun nasıl çalıştığını görelim:
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 alırız:
Negative numberBu örnekte, num değişkenini doğrudan switch ifadesi içinde bildirdik ve başlattık. Noktalı virgül, başlatmayı switch ifadesinden (burada boştur) ayırır. Bu, aynı işlevselliği korurken kodumuzu daha kompakt hale getirir.
Görev
Başlangıçswitch expression in Go. You need to complete the code to determine the description of a day based on its name using a switch statement.Bir
dayName değişkeni zaten "Wednesday" değeriyle tanımlanmıştır. Göreviniz, description değişkenini aşağıdakilere ayarlamak için bir switch ifadesi kullanmaktır:- Monday için
"Start of the week"- Wednesday için
"Midweek"- Friday için
"Almost weekend"- Saturday veya Sunday için
"Weekend"- Diğer tüm günler için
"Regular day"Kopya kağıdı
Go'daki switch ifadeleri, koşulları doğrudan switch deyimi içinde değerlendirmenize olanak tanır.
Her bir case'de boolean ifadeleri değerlendirmek için değer içermeyen switch { kullanın:
num := -5
switch {
case num > 0:
fmt.Println("Positive number")
case num < 0:
fmt.Println("Negative number")
default:
fmt.Println("Zero")
}Başlatmayı switch ifadesinden ayırmak için noktalı virgül kullanarak bir değişkeni doğrudan switch deyimi içinde başlatabilirsiniz:
switch num := -5; {
case num > 0:
fmt.Println("Positive number")
case num < 0:
fmt.Println("Negative number")
default:
fmt.Println("Zero")
}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 açıklamayı ayarlayan bir switch ifadesi yazın
// 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 günler için: "Regular day"
// Sonucu yazdır
fmt.Printf("%s is %s\n", dayName, description)
}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