可以用如下方法实现默认赋值
方法1,使用 Default::default()给变量赋值:
fn main(){
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);
}
输出结果:
0
None,0
0,0,false,false
方法2,添加#[derive(Default)]
#[derive(Default,Debug)] //(Debug是为了方便打印)
struct MyTest{
i:i32,
j:Option<i32>,
k:String,
}
fn main(){
let mt = MyTest::default();
println!("{:?}",mt);
}
输出:
MyTest { i: 0, j: None, k: "" }
引用:https://doc.rust-lang.org/std/default/trait.Default.html