if let İfadeleri
if let ifadesi, bir değerin bir desenle eşleşip eşleşmediğine bağlı olarak farklı kod çalıştırmanıza olanak tanır:
use std::time::Duration; fn sleep_for(secs: f32) { let result = Duration::try_from_secs_f32(secs); if let Ok(duration) = result { std::thread::sleep(duration); println!("{duration:?} kadar uyunuldu"); } } fn main() { sleep_for(-10.0); sleep_for(0.8); }
match’in aksine,if lettüm dalları kapsamak zorunda değildir. Bu onumatch’den daha özlü (concise) yapabilir.Optionile çalışırken yaygın bir kullanım,Somedeğerlerini işlemektir.match’in aksine,if letdesen eşleştirme için filtre koşul grubu (guard clauses) desteklemez.- Bir
elsedurumuyla, bu bir ifade (expression) olarak kullanılabilir.