rustHow to copy struct in Rust
Copying a struct in Rust is done using the clone() method. This method creates a deep copy of the struct, meaning that all fields are copied as well.
Example
#[derive(Clone, Debug)]
struct Point {
x: i32,
y: i32,
}
fn main() {
let p1 = Point { x: 1, y: 2 };
let p2 = p1.clone();
println!("p1: {:?}", p1);
println!("p2: {:?}", p2);
}
Output example
p1: Point { x: 1, y: 2 }
p2: Point { x: 1, y: 2 }
Code explanation
#[derive(Clone, Debug)]: This line is necessary for theclone()method to work. It derives theCloneandDebugtraits for thePointstruct.let p1 = Point { x: 1, y: 2 };: This line creates aPointstruct with the fieldsxandyset to1and2respectively.let p2 = p1.clone();: This line creates a deep copy of thePointstructp1and stores it inp2.println!("p1: {:?}", p1);: This line prints thePointstructp1to the console.println!("p2: {:?}", p2);: This line prints thePointstructp2to the console.
Helpful links
Related
- How to update struct in Rust
- How to serialize struct to xml in Rust
- Example of struct private field in Rust
- How to init zero struct in Rust
- Example of Rust struct with closure
- How to sort a struct in Rust
- Rust struct without fields
- How to convert struct to bytes in Rust
- How to join structs in Rust
- How to pretty print a struct in Rust
More of Rust
- Rust map function example
- How to replace strings using Rust regex?
- How to use regex lookbehind in Rust?
- How to use 'or' in Rust regex?
- Regex example to match multiline string in Rust?
- How to loop until error in Rust
- How to match whitespace with a regex in Rust?
- How to use regex lookahead in Rust?
- How to use Unicode in a regex in Rust?
- How to match a URL with a regex in Rust?
See more codes...