Arrow functions
- Dart kursu
- Başlangıç
- Ders 67/116
- 5 dk
=> ile kısa fonksiyon yazmayı öğrenirsin.
Arrow functions
Tek bir ifade döndüren fonksiyonları kısa yazmanın yolu ok fonksiyonu (arrow function)'dur. => operatörü gövdeyi tek satırda yazar. Örnek: int square(int n) => n * n;.
Bu yazım int square(int n) { return n * n; } ile tamamen eşdeğerdir. Ok'tan sonraki ifade otomatik olarak döndürülür; return yazmana gerek yoktur.
Ok fonksiyonu yalnızca tek bir ifade içerebilir; birden çok satır gerekiyorsa süslü parantezli klasik yazımı kullanmalısın. Kısa dönüşümler ve hesaplar için idealdir.
Ok ile klasik karşılaştırması
Aynı fonksiyonu iki biçimde yazabilirsin. Klasik: int double(int n) { return n * 2; }. Ok: int double(int n) => n * 2;. İkisi de aynı işi yapar.
Ok fonksiyonunda return yazılmaz; ifade otomatik döner. Klasik biçimde return şarttır, aksi halde derleyici hata verir.
Hangisini seçeceğin gövde uzunluğuna bağlıdır: tek satır bitsin istiyorsan ok, birden çok adım varsa süslü parantez. İkisi yan yana okunabilir; Dart topluluğu kısa fonksiyonlarda ok tercih eder.
Uygulama Ok ile iki katına çıkar
Bir twice(int n) ok fonksiyonu tanımla; gövde n * 2 olsun. main içinden print(twice(21)) çağrısını ekle.
Başlangıç kodu
void main() {
// twice ok fonksiyonunu tanımla
// sonuçu yazdır
}Örnek çözüm
int twice(int n) => n * 2;
void main() {
print(twice(21));
}Beklenen çıktı
42
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Ok ile yaz
int square(int n) ____ n * n;
int square(int n) => n * n;
Açıklama: => ok fonksiyonu işaretidir.
2 Ok fonksiyonunda return?
- Yazılmaz, otomatik döner Doğru cevap
- Yazılır ve zorunludur
- Sadece void'de yazılır
- Hata verir
Açıklama: ok fonksiyonunda return yazılmaz, ifade kendiliğinden döner.
3 Yazımları eşleştir
| Kavram | Anlamı |
|---|---|
int square(int n) { return n*n; } |
Klasik biçim |
int square(int n) => n * n; |
Ok biçim |
return |
Klasikte zorunlu |
=> |
Ok işareti |