17.默认值Default.rs
生活随笔
收集整理的這篇文章主要介紹了
17.默认值Default.rs
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
fn test_1() {//沒有初始化會編譯報錯.use of possibly-uninitialized `i`let i: i8 = Default::default();let (x, y): (Option<String>, f64) = Default::default();let (a, b, (c, d)): (i32, u32, (bool, bool)) = Default::default();println!("{}", i);println!("{:?},{:?}", x, y);println!("{},{},{},{}", a, b, c, d);
}fn test_2() {#[derive(Default, Debug)] //(Debug是為了方便打印)struct MyTest {i: i32,j: Option<i32>,k: String,}let mt = MyTest::default();println!("{:?}", mt);
}//自己寫default
fn test_3() {#[derive(Debug)]enum Kind {A,B,C,}impl Default for Kind {fn default() -> Self {//fn default() -> Kind { 這么寫也是可以的Kind::A}}let k = Kind::default();println!("{:?}", k);
}fn test_4() {#[derive(Default, Debug)]struct SomeOptions {foo: i32,bar: f32,}//結構體其他成員默認化let options = SomeOptions { foo: 42, ..Default::default() };
}fn main() {test_1();test_2();test_3();test_4();
}
?
總結
以上是生活随笔為你收集整理的17.默认值Default.rs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 16.枚举中的option和result
- 下一篇: 18.self关键字.rs