fn add(x: i32,y: i32) -> i32{
x + y
}
Ornegin burada neden "return x + y" tarzi bir sey kullanmiyoruz?
fn add(x: i32,y: i32) -> i32{
x + y
}
fn add(a: i32, b: i32) -> i32 {
return a + b;
}
fn divide(a: i32, b: i32) -> Result<i32, &'static str> {
if b == 0 {
Err("You can't divide to 0. Undefined behavior.")
}
Ok(a / b)
}
fn divide(a: i32, b: i32) -> Result<i32, &'static str> {
if b == 0 {
return Err("You can't divide to 0. Undefined behavior.")
}
Ok(a / b)
}
fn divide(a: i32, b: i32) -> Result<i32, &'static str> {
if b == 0 {
Err("You can't divide to 0. Undefined behavior.")
} else {
Ok(a / b)
}
}
fn add(a: i32, b: i32) -> i32 {
return a + b;
}
fn divide(a: i32, b: i32) -> Result<i32, &'static str> {
if b == 0 {
Err("You can't divide to 0. Undefined behavior.")
}
Ok(a / b)
}
fn divide(a: i32, b: i32) -> Result<i32, &'static str> {
if b == 0 {
return Err("You can't divide to 0. Undefined behavior.")
}
Ok(a / b)
}
fn divide(a: i32, b: i32) -> Result<i32, &'static str> {
if b == 0 {
Err("You can't divide to 0. Undefined behavior.")
} else {
Ok(a / b)
}
}
Anladim cok teşekkürler.Implicit return. Stil tercihi. Yazmasi daha kisa, daha az verbose ve acik oldugunu dusundukleri icin ekledikleri bir stil. Boyle yazmak zorunda degilsin.
Asagidaki de derler.
Kod:fn add(a: i32, b: i32) -> i32 { return a + b; }
Dilin felsefesine gore "return sadece erken returnler icin". Yani fonksiyonun normal pathlerinde (early return olmayan) return keywordunu kullanmadan bir deger dondurebilirsin. Ornegin;
Kod:fn divide(a: i32, b: i32) -> Result<i32, &'static str> { if b == 0 { Err("You can't divide to 0. Undefined behavior.") } Ok(a / b) }
Yukaridaki derlemez hata verir, cunku early return var. Return keywordu kullanmalisin.
Kod:fn divide(a: i32, b: i32) -> Result<i32, &'static str> { if b == 0 { return Err("You can't divide to 0. Undefined behavior.") } Ok(a / b) }
Yada tum kod yollarini tek sefere dizersin;
Kod:fn divide(a: i32, b: i32) -> Result<i32, &'static str> { if b == 0 { Err("You can't divide to 0. Undefined behavior.") } else { Ok(a / b) } }
Ama dedigim gibi return kullanmamak zorunda degilsin gibi bir durum soz konusu degil.
Bunu gecen gordum. Asiri hosuma gitti bu konsept acikcasi.Ayrıca ternary operator yerine de bunu kullanıyoruz.
JavaScript:let x = if a > 5 { a * 3 } else { a + 2 }
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.