Fonksiyonlar
fn gcd(a: u32, b: u32) -> u32 { if b > 0 { gcd(b, a % b) } else { a } } fn main() { println!("gcd: {}", 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 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 "yalın (bare) değer" formu bir fonksiyonun sonunda tercih edilen yaklaşımdır (idiomatic) (return
kullanmak içingcd
'yi yeniden düzenleyin - refactor). - Bazı fonksiyonların dönüş değeri (return value) yoktur ve 'birim türü (unit type)',
()
döndürürler. Eğer dönüş türü yazılmazsa, derleyici birim türünü çıkarım (infer) yapacaktır. - Yüklenme (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ümesini alır. Bu türler, daha sonra ele alınacak olan jenerik olabilir.