Fonksiyonlar

Her şeyin birer obje olması gibi fonksiyonlarda objedir.

  • Bir fonksiyon başka bir fonksiyonun parametresi, geri dönüş değeri olabilir.
  • İç içe tanımlanabilir, atama operatörü ile başka değişkenlere atanabilirler.
bool func1(int index){
 return myList[index] != null;
}

Tek satırlık bir içeriği olan fonksiyon yazılıyorsa fonksiyon gövdesi oluşturmak yerine => şeklinde bir ok operatörü kullanılabilir.

bool func1(int index) => return myList[index] != null;

İsimlendirilmiş parametre (named parameter) kullanımı mevcuttur. Sıralama önemli olmadan değer atanabilir.

İsimlendirilmiş parametreli fonksiyon tanımlama:
void gorunum({bool? kalin, bool? gizli}){...}
Fonksiyonun çağrısı örneği:
void gorunum({bool? kalin, bool? gizli}){...}

İsimlendirilmiş bir parametreye değer atamayı zorunlu kılmak için required ifadesi kullanılır.

const Scroolbar({Key? key, required Widget child})

İsimlendirilmiş bir parametreye opsiyonlu tanımlamak için köşeli parantez içerisine yazılır.

String soyle(String from, String msg, [String? device]){
 var result = '$from says $msg';
 if (device != null) {
  result = '$result with a $device';
 }
 return result;
}

İsimlendirilmiş bir parametreye varsayılan değer atamak için parametre adından sonra eşittir (=) operatörü kullanılır.

void gorunum({bool kalin = false, bool gizli = false}){...}


gorunum(kalin:true);

main() Fonksiyonu

main() fonksiyonunun geri dönüş türü void türüdür.Yani değer döndürmez.

Anonim Fonksiyonlar

Fonksiyon sadece yazıldığı yerde geçerli olması için kullanılır.

var yukselt = (msg) => '!!! ${msg.toUpperCase()} !!!';
assert(yukselt('hello') == '!!! HELLO !!!');