字段简写语法
如果您已有名称正确的变量,则可以使用简写形式创建结构体:
#[derive(Debug)] struct Person { name: String, age: u8, } impl Person { fn new(name: String, age: u8) -> Person { Person { name, age } } } fn main() { let peter = Person::new(String::from("Peter"), 27); println!("{peter:?}"); }
-
在编写“new”函数时可以使用“Self”作为类型,因为它可以与结构体类型名称互换
#[derive(Debug)] struct Person { name: String, age: u8, } impl Person { fn new(name: String, age: u8) -> Self { Self { name, age } } }
-
为结构体实现“Default”trait。定义一些字段并对其他字段使用默认值。
#[derive(Debug)] struct Person { name: String, age: u8, } impl Default for Person { fn default() -> Person { Person { name: "Bot".to_string(), age: 0, } } } fn create_default() { let tmp = Person { ..Person::default() }; let tmp = Person { name: "Sam".to_string(), ..Person::default() }; }
-
方法是在“impl”块中进行定义的。
-
使用结构体更新语法以利用“peter”定义一个新结构。请注意,之后将无法再访问变量“peter”。
-
在输出结构体时,使用“{:#?}”来请求“Debug”表示法。