Rust'ta sıkı statik türleme kullanılır: tüm değişkenlerin ve fonksiyonların türleri derleme aşamasında bilinir ve çalışma zamanında değiştirilemez. Bu, derleyicinin program çalıştırılmadan önce türlerin yanlış kullanımıyla ilgili çoğu hatayı önceden tespit edeceği anlamına gelir.
Statik türleme şu avantajları sağlar:
Örnek:
let x: i32 = 5; let y: f64 = 2.0; let z = x as f64 + y; // doğru: x f64'e dönüştürülür // let w = x + y; // derleme hatası: farklı türler
Rust'ta hem sayılarla hem de dizelerle çalışan bir fonksiyon nasıl gerçekleştirilir? dyn Any türünün kullanılması yeterli mi?
Cevap:
dyn Any kullanımı türlerin downcast edilmesine olanak tanır, ancak Rust'ta evrensel fonksiyonlar için tercih edilen yöntem generikler ve kısıtlamalara sahip trait'ler kullanmaktır. Örneğin:
use std::fmt::Display; fn print_value<T: Display>(val: T) { println!("{}", val); }
Hikaye
Hikaye
#[derive(Serialize)]), bu da yayını bir gün geciktirdi.Hikaye
Bir fintech projesinde programcılar, Rust'ın aritmetik ifadelerde otomatik tür dönüşümü yaptığını düşündüler, tıpkı Python veya JavaScript gibi. Sonuç olarak, derleme aşamasında yüzlerce hata ortaya çıktı ve tür dönüşümlerini açıkça belirterek kodun bir kısmını yeniden yazmak zorunda kaldılar.