Dart İsteğe Bağlı Parametreler (Optional Parameters)

İngilizcede optional parameters olarak adlandırılan Dart isteğe bağlı parametreler, bir başak deyişle opsiyonel parametreler. fonksiyonla birlikte tanımlanan ve bir başlangıç değerine sahip olan parametrelerdir.

Fonksiyonları anlattığımız bölümde required parametreler üzeriden değinmiştik. Dart isteğe bağlı parametreler İsteğe Bağlı Konumlandırılmış Parametreler ve İsteğe Bağlı Adlandırılmış Parametreler olarak kategorilendirilebilir.

İsteğe Bağlı Konumlandırılmış Parametreler (Optional Positional Parameter)

Dart’ta isteğe bağlı konumlandırılmış parametreleri oluşturmak için köşeli parantezler [ ] (brackets) kullanılır. Parametre halihazırda bir başlangıç değerine sahip olduğu için fonksiyon çağrılırken herhangi bir değer gönderilmezse bu varsayılan değer kullanılır.

void main()
{  
  int toplama = sayiTopla (9,10);
  print("Sayıların toplamı: $toplama");
}


int sayiTopla (int x, int y, [int z=0]) 
{
  return x+y+z;
}

Çıktı: 19

Yukarıdaki örnekte z değeri çağrıldığı ana fonksiyonda parametreyi girmesek de fonksiyon içinde varsayılan parametre olarak girildiği için çalıştı.

Eğer bir z değeri girilseydi bu değer varsayılan değeri tabiri caizse ezerek çalışacaktır:

void main()
{  
  int toplama = sayiTopla (9,10, 11);
  print("Sayıların toplamı: $toplama");
}


int sayiTopla (int x, int y, [int z=0]) 
{
  return x+y+z;
}

Çıktı: 30

İsteğe Bağlı Adlandırılmış Parametreler (Optional Named Parameter)

Dart’ta isteğe bağlı adlandırılmış parametreleri oluşturmak için süslü parantezler { } (curly brackets) kullanılır. Süslü parantezler içerisine parametrelerin isimleri değerleriyle beraber yazıldığı için sıralamasının bir önemi yoktur. Benzer şekilde parametre halihazırda bir başlangıç değerine sahip olduğu için fonksiyon çağrılırken herhangi bir değer gönderilmezse bu varsayılan değer kullanılır.

void main()
{  
  int toplama = sayiTopla (9,z:10);
  print("Sayıların toplamı: $toplama");
}


int sayiTopla (int x, {int y = 0, int z = 0}) 
{
  return x+y+z;
}

Eğer bir y değeri girilseydi bu değer varsayılan değeri ezerek çalışacaktır:

void main()
{  
  int toplama = sayiTopla (9,z:10, y:11);
  print("Sayıların toplamı: $toplama");
}


int sayiTopla (int x, {int y = 0, int z = 0}) 
{
  return x+y+z;
}

Fark edileceği üzere isimlerin sahip olduğu değerler çift nokta ile : girilmiştir. Ayrıca parametrelerin değişken tipinin girilmesi ve bir başlangıç değeri atanması null hatasını önlemek için gereklidir.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu