Menu
Coddy logo textTech

İsteğe Bağlı Konumsal Parametreler

Coddy'nin Dart Journey'sinin Temeller bölümünün bir parçası. Ders 72 / 94.

İsteğe bağlı konumsal parametreler, Dart'ta bazı parametrelerin isteğe bağlı olduğu fonksiyonlar oluşturmanıza olanak tanır. Bunları parametreleri kare köşeli parantezlerin içine yerleştirerek tanımlarsınız [].

İsteğe bağlı konumsal parametrelerle bir fonksiyon oluştur:

void greet(String name, [String? greeting]) {
  if (greeting != null) {
    print('$greeting, $name!');
  } else {
    print('Hello, $name!');
  }
}

void main() {
  greet('Dart');
  greet('Dart', 'Welcome');
}

Yukarıdaki kodu çalıştırdıktan sonra, çıktı şu şekilde olacaktır:

Hello, Dart!
Welcome, Dart!

Birden fazla isteğe bağlı parametreye sahip olabilirsiniz:

int calculateTotal(int quantity, [int price = 10, int tax = 2]) {
  return quantity * price + tax;
}

void main() {
  print(calculateTotal(5));
  print(calculateTotal(5, 20));
  print(calculateTotal(5, 20, 5));
}

Yukarıdaki kodu çalıştırdıktan sonra çıktı şu olacaktır:

52
102
105
challenge icon

Görev

Başlangıç

Bu meydan okumada, Dart işlevlerinde isteğe bağlı konumsal parametreleri kullanmayı pratik edeceksiniz. İsteğe bağlı konumsal parametreler, bazı parametrelerin isteğe bağlı olduğu işlevler oluşturmanıza olanak tanır.

Aşağıdaki greet işlevini tamamlayarak gerekli bir name parametresini ve isteğe bağlı bir title parametresini almasını sağlayın. title sağlanırsa işlev, hem title hem de name içeren bir selamlama döndürmelidir. title sağlanmazsa yalnızca name kullanılmalıdır.

Beklenen çıktı:

Hello, John!
Hello, Dr. Smith!

Kendin dene

void main() {
  // Bu değişkenler sizin için zaten tanımlanmış
  String person1 = "John";
  String person2 = "Smith";
  String title = "Dr.";
  
  // Sadece isimle greet fonksiyonunu çağır
  print(greet(person1));
  
  // Hem isim hem de unvanla greet fonksiyonunu çağır
  print(greet(person2, title));
}

// TODO: Opsiyonel unvan parametresiyle greet fonksiyonunu tamamla
// Unvan parametresi opsiyonel olmalı (kare parantez [] kullanın)
String greet(String name) {
  // Eğer unvan sağlanırsa, "Hello, {title} {name}!" döndür
  // Eğer unvan sağlanmazsa, "Hello, {name}!" döndür
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online Dart derleyicisi