Özet - Type alias'lar
- Dart kursu
- Orta seviye
- Ders 75/116
- 5 dk
typedef, Record ve pattern matching'i birleştirerek bir DTO sistemi yazarsın.
Özet: Type alias'lar
Bu grupta typedef ile fonksiyon türlerine, type alias ile karmaşık türlere ad vermeyi gördün. Record ile değer paketledin, pattern matching ile paketi açtın ve switch expression ile desene göre sonuç ürettin.
Şimdi bunları bir araya getireceğiz: bir Record tanımlayıp type alias ile adlandıracak, switch expression ile desen eşleştireceğiz. Bu, Dart 3'ün veri işleme gücünü gösterir.
Hatırla: alias yalnızca ad verir, Record değiştirilemez ve switch expression bir değer üretir.
Uygulama Point DTO
typedef Point = (int x, int y); tanımla. main içinde Point p = (3, 4); oluştur. Bir switch expression ile p'yi eşleştir: (0, _) => 'eksende', (_, 0) => 'eksende', _ => 'düzlemde'. Sonucu print ile yazdır.
Başlangıç kodu
// Point alias'ını kullanarak bir kayıt oluştur
void main() {
// (3, 4) değerlerinden bir Point oluştur
// switch expression ile sonucu yazdır
}Örnek çözüm
typedef Point = (int x, int y);
void main() {
Point p = (3, 4);
print(switch (p) {
(0, _) => 'eksende',
(_, 0) => 'eksende',
_ => 'düzlemde',
});
}Beklenen çıktı
düzlemde
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Kavram eşleştirmesi
| Kavram | Anlamı |
|---|---|
typedef |
Fonksiyon türüne ad |
type alias |
Karmaşık türe ad |
Record |
Değer paketi |
switch expression |
Desene göre sonuç |
2 Point p = (3,4) switch sonucu?
- eksende
- Boş
- Hata
- düzlemde Doğru cevap
Açıklama: (3,4) eksen üzerinde olmadığından _ kolonu çalışır.
3 Record joker deseni
switch (p) {
(0, ____) => 'eksende',
_ => 'düzlemde',
}
switch (p) {
(0, _) => 'eksende',
_ => 'düzlemde',
}
Açıklama: Bir alanı önemsemek için _ yazılır.