Başlık: Başlangıç

    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 !!!');