CodeBlanks Logo Icon CodeBlanks

Optional params

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

main.dart
void main() {
  // greet fonksiyonunu tanımla

  // çağrı ekle
}

Örnek çözüm

main.dart
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ı

Soru
void greet({____}) { print(name); }
Cevap
void greet({required String name}) { print(name); }

Açıklama: required zorunlu isimli parametre belirtir.

Başlangıç bölümündeki tüm dersler