Optional params
- Dart kursu
- Başlangıç
- Ders 68/116
- 5 dk
Optional ve named parametreleri öğrenirsin.
Optional parametreler
Dart'ta bir parametreyi isteğe bağlı yapmanın iki yolu vardır. Konumsal: köşeli parantez içine alınır, void greet(String name, [String? title]) { ... }. Çağrıda title verilmeyebilir.
İsimli: süslü parantez içine alınır, void greet({required String name, String? title}) { ... }. Çağrıda hangi parametreyi verdiğin adıyla bellidir: greet(name: 'Ayşe');.
İsimli parametrelerde required zorunlu, yoksa isteğe bağlı anlamına gelir. Varsayılan değer de verilebilir: String title = 'Bay'.
Varsayılan değer
İsteğe bağlı bir parametreye varsayılan değer verebilirsin. Konumsal: void greet(String name, [String title = 'Bay']) { ... }. Çağrıda title vermezsen 'Bay' kullanılır.
İsimli parametrelerde de aynı: {String title = 'Bay'}. Varsayılan verildiğinde parametre null olamaz; bu yüzden ? konmaz.
Varsayılan değer sabit bir literal olmalıdır; çalışma anında hesaplanan bir ifade olamaz. Bu, derleme zamanında bilinen değerler gerektirir.
Uygulama Selamla
Bir greet fonksiyonu tanımla; {required String name} isimli parametre alsın ve print('Merhaba, $name') yapsın. main içinden greet(name: 'Ayşe') çağrısı ekle.
Başlangıç kodu
void main() {
// greet fonksiyonunu tanımla
// çağrı ekle
}Örnek çözüm
void greet({required String name}) {
print('Merhaba, $name');
}
void main() {
greet(name: 'Ayşe');
}Beklenen çıktı
Merhaba, Ayşe
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Parametre türlerini eşleştir
| Kavram | Anlamı |
|---|---|
[int? b] |
Konumsal isteğe bağlı |
{int b} |
İsimli isteğe bağlı |
{required int b} |
İsimli zorunlu |
int b |
Zorunlu konumsal |
2 İsimli parametre nasıl çağrılır?
- greet('Ayşe')
- greet(name: 'Ayşe') Doğru cevap
- greet(name = 'Ayşe')
- greet(name -> 'Ayşe')
Açıklama: isimli parametre ad: değer biçiminde çağrılır.
3 İsimli parametre tanımı
void greet({____}) { print(name); }
void greet({required String name}) { print(name); }
Açıklama: required zorunlu isimli parametre belirtir.