switch expression
- Dart kursu
- Orta seviye
- Ders 74/116
- 5 dk
switch expression ile ifade öğrenirsin.
switch expression
Bir switch expression, bir değeri desene göre eşleştirir ve bir sonuç üretir. Sözdizimi: String label = switch (n) { 0 => 'sıfır', _ => 'diğer' };. Burada _ tüm değerleri yakalar.
Her kolon bir desen ve bir sonuçtur. => sağındaki ifade sonuç olur. Tüm durumlar kapsandığında derleyici bir hata vermez.
switch expression bir ifade olduğu için bir değişkene atanabilir ya da doğrudan print'e verilebilir.
Desenlerle switch
switch expression'da desen olarak record ve liste de kullanılabilir. Örnek: switch (p) { (0, _) => 'x sıfır', (_, 0) => 'y sıfır', _ => 'değerli' }.
Burada (0, _) deseni ilk alanı 0 olan kayıtları yakalar. _ ise o alanı önemseme anlamına gelir.
Dart desenleri yukarıdan aşağı dener; ilk uyan kolonun sonucunu verir. Sıra önemlidir.
Uygulama Gün adı
main içinde int day = 3; tanımla. Bir switch expression ile 1 => 'Pazartesi', 2 => 'Salı', 3 => 'Çarşamba', _ => 'Bilinmiyor' kollarını kullanarak gün adını print ile yazdır.
Başlangıç kodu
void main() {
int day = 3;
// switch expression ile gün adını yazdır
}Örnek çözüm
void main() {
int day = 3;
print(switch (day) {
1 => 'Pazartesi',
2 => 'Salı',
3 => 'Çarşamba',
_ => 'Bilinmiyor',
});
}Beklenen çıktı
Çarşamba
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 switch expression gövdesi
var label = switch (n) {
0 => 'sıfır',
____ => 'diğer',
};
var label = switch (n) {
0 => 'sıfır',
_ => 'diğer',
};
Açıklama: _ tüm kalan değerleri yakalar.
2 switch (n) { 0 => 'a', _ => 'b' } n=5 sonucu?
- 'a'
- 'b' Doğru cevap
- Boş dize
- Hata
Açıklama: 5, 0'a uymadığından _ kolonu çalışır ve 'b' döner.
3 switch expression ne döndürür?
- Her zaman null
- Yalnızca void
- Bir değer Doğru cevap
- Bir Future
Açıklama: switch expression bir değer üretir.