Field Shorthand Syntax
If you already have variables with the right names, then you can create the struct using a shorthand:
#[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:?}");
}
The new
function could be written using Self
as a type, as it is interchangeable with the struct type name
impl Person { fn new(name: String, age: u8) -> Self { Self { name, age } } }