■ struct 키워드에서 Clone 트레잇을 자동으로 구현하는 방법을 보여준다.
▶ 예제 코드 (RS)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#[derive(Clone)] struct Person { name : String, age : i32 } impl Person { fn new(name : &str, age : i32) -> Self { return Self { name : name.to_string(), age }; } } fn main() { let person1 = Person::new("Alex", 18); let mut person2 = person1.clone(); person2.name = String::from("Betty"); println!("{},{}", person1.name, person1.age); println!("{},{}", person2.name, person2.age); } |