Default
Özelliği (Trait)
Default
özelliği (trait), bir tür için varsayılan bir değer üretir.
#[derive(Debug, Default)] struct Derived { x: u32, y: String, z: Implemented, } #[derive(Debug)] struct Implemented(String); impl Default for Implemented { fn default() -> Self { Self("Evliya Çelebi".into()) } } fn main() { let default_struct = Derived::default(); dbg!(default_struct); let almost_default_struct = Derived { y: "Y ayarlandı!".into(), ..Derived::default() }; dbg!(almost_default_struct); let nothing: Option<Derived> = None; dbg!(nothing.unwrap_or_default()); }
This slide should take about 5 minutes.
- Doğrudan gerçekleştirilebilir (implement) veya
#[derive(Default)]
aracılığıyla türetilebilir. - Türetilmiş bir gerçekleştirme (implementation), tüm alanların varsayılan değerlerine ayarlandığı bir değer üretecektir.
- Bu, yapıdaki (struct) tüm türlerin de
Default
’u gerçekleştirmesi (implement) gerektiği anlamına gelir.
- Bu, yapıdaki (struct) tüm türlerin de
- Standart Rust türleri genellikle
Default
’u makul değerlerle (ör.0
,""
, vb.) gerçekleştirir (implement). - Kısmi yapı ilklendirmesi (partial struct initialization), default özelliği ile güzel çalışır.
- Rust standart kütüphanesi, türlerin
Default
’u gerçekleştirebileceğinin (implement) farkındadır ve onu kullanan kullanışlı metotlar sağlar. ..
sözdizimine yapı güncelleme sözdizimi (struct update syntax) denir.