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 fonksiyonlarında isteğe bağlı konum parametrelerini kullanmayı pratik edeceksin. İsteğe bağlı konum parametreleri, bazı parametrelerin isteğe bağlı olduğu fonksiyonlar oluşturmana olanak tanır.

Alttaki greet fonksiyonunu tamamla; bu fonksiyon zorunlu bir name parametresi ve isteğe bağlı bir title parametresi alır. Eğer title sağlanmışsa, fonksiyon hem title hem de name içeren bir selam döndürmelidir. Eğer title sağlanmamışsa, sadece name'i kullanmalıdır.

Beklenen çıktı:

Hello, John!
Hello, Dr. Smith!

Kopya kağıdı

Dart'ta isteğe bağlı konum parametreleri, parametreleri köşeli parantezler [] içine yerleştirerek tanımlanır:

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

Varsayılan değerlere sahip birden fazla isteğe bağlı parametreye sahip olabilirsiniz:

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

İsteğe bağlı parametrelere sahip fonksiyonları, yalnızca gereken argümanları sağlayarak veya isteğe bağlı olanları dahil ederek çağırın:

greet('Dart');           // Uses default behavior
greet('Dart', 'Welcome'); // Uses provided optional parameter

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