Fonksiyonlar

fn gcd(a: u32, b: u32) -> u32 {
    if b > 0 { gcd(b, a % b) } else { a }
}

fn main() {
    dbg!(gcd(143, 52));
}
This slide should take about 3 minutes.
  • Bildirim (declaration) parametrelerinin ardından bir tür (bazı programlama dillerinin tersi) ve ardından bir geri dönüş türü gelir.
  • Bir fonksiyon gövdesindeki (veya herhangi bir bloktaki) son ifade (expression), geri dönüş değeri (return value) olur. İfadenin sonundaki ; işaretini silmeniz yeterlidir. return anahtar kelimesi erken geri dönüş (early return) için kullanılabilir, ancak fonksiyonun sonunda “yalın (bare) değer” kullanmak daha yaygındır (idiomatic) (returnkullanmak için gcd’yi yeniden düzenleyin - refactor).
  • Bazı fonksiyonların geri dönüş değeri (return value) yoktur ve ‘birim türü (unit type)’, () geri döndürürler. Eğer geri dönüş türü yazılmazsa, derleyici birim türünü çıkarım (infer) yapacaktır.
  • Fonksiyon yüklemesi (overloading) desteklenmez – her fonksiyonun tek bir uygulaması (implementation) vardır.
    • Her zaman sabit sayıda parametre alır. Varsayılan argümanlar (default arguments) desteklenmez. Makrolar değişken sayıda argüman alan fonksiyonları (variadic functions) desteklemek için kullanılabilir.
    • Her zaman tek bir parametre türü kümesi alır. Bu türler genelleştirilmiş (generic) olabilir, bu konuya daha sonra değinilecektir.