Menu
CoddyTech

İsteğe Bağlı Konumsal Parametreler

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

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

İsteğe bağlı konumsal parametreleri olan bir fonksiyon oluşturun:

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ı şöyle olacaktır:

Hello, Dart!
Welcome, Dart!

Birden fazla isteğe bağlı parametreniz olabilir:

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ı şöyle olacaktır:

52
102
105
challenge icon

Görev

Başlangıç

Bu meydan okumada, Dart işlevlerinde isteğe bağlı konumsal parametreleri kullanma pratiği yapacaksın. İsteğe bağlı konumsal parametreler, bazı parametreleri isteğe bağlı olan işlevler oluşturmanı sağlar.

Aşağıdaki greet işlevini tamamla. Bu işlev, zorunlu bir ad parametresi ve isteğe bağlı bir unvan parametresi alır. Unvan sağlanırsa işlev hem unvanı hem de adı içeren bir selamlama döndürmelidir. Unvan sağlanmazsa yalnızca adı kullanmalıdır.

Beklenen çıktı:

Hello, John!
Hello, Dr. Smith!

Kendin dene

void main() {
  // Bu değişkenler sizin için önceden tanımlanmıştır
  String person1 = "John";
  String person2 = "Smith";
  String title = "Dr.";
  
  // greet fonksiyonunu yalnızca isimle çağırın
  print(greet(person1));
  
  // greet fonksiyonunu hem isim hem de title ile çağırın
  print(greet(person2, title));
}

// TODO: greet fonksiyonunu isteğe bağlı bir title parametresiyle tamamlayın
// title parametresi isteğe bağlı olmalıdır (köşeli parantez [] kullanın)
String greet(String name) {
  // title sağlanmışsa "Hello, {title} {name}!" değerini döndürün
  // title sağlanmamışsa "Hello, {name}!" değerini döndürün
}
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