skip to Main Content
Fonksiyon Tanımlama Ve Kullanımı – 1

Fonksiyon Tanımlama ve Kullanımı – 1

Dart programlama dili nesneye yönelik bir programlama dili olduğu için her şey bir nesnedir. Fonksiyonlar da Function sınıfından türetilmiştir. Foksiyonlar bir işlevi yerine getirmek için tanımlanmış küçük kod bloklarıdır. Fonksiyonlar kısa ve net olmalıdır. Sadece bir amaca hizmet etmeli ve okunaklı olmalıdır. Dart programlama dili ile yazılan programların başlangıç noktası main fonksiyonudur.

Basit bir şekilde fonksiyon aşağıdaki gibi tanımlanır.

sayHello(String name) {
  print("Merhaba $name");
}

// Kullanımı
sayHello("İzzet");

Bazı fonksiyonlar birden fazla parametre alır. Birden fazla parametre aldığı için bu fonksiyonu kullanırken (parametre sırası, adı vb.) karışıklıklar olabilir. Bunun önüne geçmek için fonksiyona gönderilen parametreler, ismi ile gönderilir. Fonksiyon parametrelerini ismi ile çağırmak için aşağıdaki gibi tanımlamalısınız.

sayHello({String name, int age}) {
  print("Merhaba $name");
}

// Kullanımı 1
sayHello(name: "İzzet", age: 99);
// Kullanım 2
sayHello(age: 99, name: "İzzet");
// Kullanım 3
sayHello(name: "İzzet");
// Kullanım 4
sayHello();

Yukarıdaki kullanımda parametrelerin sırası, sayısı vb. önemi yoktur. Burada dikkat edilmesi gereken, bir parametre fonksiyon içine gönderilmez ve o değer fonksiyon içerisinde kullanılıyor ise hataya sebep olacaktır. Fonksiyon parametrelerini zorunlu tutmak için aşağıdaki yöntemleri kullanabilirsiniz. Not: @required anotasyonunu kullanabilmek için “package:meta/meta.dart” veya “package:flutter/material.dart” kütüphanelerinden birisini sınıfınıza import etmelisiniz.

sayHello1({@required String name, int age}) {
  print("Merhaba $name");
}

sayHello2(String name, {int age}) {
  print("Merhaba $name");
}

// Kullanım 1
sayHello1(name: "İzzet", age: 99);
sayHello1(age: 99); // Hata

// Kullanım 2
sayHello2("İzzet", age: 33);
sayHello2(age: 33); // Hata

Tanımladığınız bir fonksiyonu kullanırken, gönderilecek bazı değerler zorunlu değil ise; [] işaretlerini kullanırsınız.

sayHello(String name, [int age]) {
  print("Merhaba $name");
}

// Kullanımı
sayHello("İzzet");

Fonksiyonlara varsayılan değer atama işlemi, doğrudan “=” ifadesi ile yapılmaktadır. Burada dikkat etmeniz gereken nokta, zorunlu olan ifadelere varsayılan değer atayamazsınız.

// Zorunlu olmayan age değerine varsayılan değer belirleyebiliriz.
sayHello(String name, [int age = 99]) { 
  print("Merhaba $name");
}

// Hata, zorunlu olan name alanına varsayılan değer atanamaz. 
sayHello(String name="İzzet", [int age]) { 
  print("Merhaba $name");
}

// Kullanımı
sayHello("İzzet");

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir