本文簡要介紹rust語言中 Trait core::default::Default
的用法。
用法
pub trait Default: Sized {
fn default() -> Self;
}
為類型提供有用的默認值的特征。
有時,您想回退到某種默認值,而不是特別關心它是什麽。這經常出現在定義一組選項的 struct
中:
struct SomeOptions {
foo: i32,
bar: f32,
}
我們如何定義一些默認值?您可以使用 Default
:
#[derive(Default)]
struct SomeOptions {
foo: i32,
bar: f32,
}
fn main() {
let options: SomeOptions = Default::default();
}
現在,您將獲得所有默認值。 Rust 為各種基本類型實現了Default
。
如果要覆蓋特定選項,但仍保留其他默認值:
fn main() {
let options = SomeOptions { foo: 42, ..Default::default() };
}
可導出的
如果所有類型的字段都實現了 Default
,則此 trait 可以與 #[derive]
一起使用。當derive
d 時,它將使用每個字段類型的默認值。
如何實現 Default
?
為 default()
方法提供一個實現,該方法返回您的類型的值,該值應該是默認值:
enum Kind {
A,
B,
C,
}
impl Default for Kind {
fn default() -> Self { Kind::A }
}
例子
#[derive(Default)]
struct SomeOptions {
foo: i32,
bar: f32,
}
相關用法
- Rust Default.default用法及代碼示例
- Rust DebugList.entries用法及代碼示例
- Rust DerefMut用法及代碼示例
- Rust DebugList用法及代碼示例
- Rust DebugMap.key用法及代碼示例
- Rust DebugStruct.finish_non_exhaustive用法及代碼示例
- Rust DebugStruct.field用法及代碼示例
- Rust DebugTuple.finish用法及代碼示例
- Rust Debug用法及代碼示例
- Rust DebugStruct用法及代碼示例
- Rust DebugStruct.finish用法及代碼示例
- Rust DebugMap.entries用法及代碼示例
- Rust DebugSet.finish用法及代碼示例
- Rust DebugMap.entry用法及代碼示例
- Rust DebugMap.value用法及代碼示例
- Rust DebugSet.entry用法及代碼示例
- Rust DebugMap.finish用法及代碼示例
- Rust DebugSet用法及代碼示例
- Rust DebugTuple.field用法及代碼示例
- Rust DebugTuple用法及代碼示例
- Rust DebugList.finish用法及代碼示例
- Rust DebugList.entry用法及代碼示例
- Rust Deref用法及代碼示例
- Rust DebugSet.entries用法及代碼示例
- Rust DebugMap用法及代碼示例
注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 Trait core::default::Default。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。