rustHow to clone struct in Rust
Cloning a struct in Rust is a simple process. To clone a struct, you can use the clone()
method. This method will create a deep copy of the struct, meaning that any changes made to the clone will not affect the original struct.
Example
#[derive(Clone)]
struct Point {
x: i32,
y: i32,
}
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)]
- This attribute is used to automatically implement theclone()
method for the struct.let p1 = Point { x: 1, y: 2 };
- This line creates a new instance of thePoint
struct.let p2 = p1.clone();
- This line clones thep1
instance and stores it inp2
.println!("p1: {:?}", p1);
- This line prints out the contents ofp1
.println!("p2: {:?}", p2);
- This line prints out the contents ofp2
.
Helpful links
Related
- Example of struct of structs in Rust
- How to init zero struct in Rust
- Example of constant struct in Rust
- Example of bit field in Rust struct
- Example of struct private field in Rust
- How to create struct from hashmap in Rust
- How to serialize struct to xml in Rust
- How to update struct in Rust
- How to convert struct to protobuf in Rust
- How to set default value in Rust struct
More of Rust
- How to use regex captures in Rust?
- How to perform matrix operations in Rust?
- How to get all values from a Rust HashMap?
- How to use regex to match a double quote in Rust?
- How to implement PartialEq for a Rust HashMap?
- How to get an entry from a HashSet in Rust?
- How to get the length of a Rust HashMap?
- How to create a HashSet from a String in Rust?
- How to convert the keys of a Rust HashMap to a vector?
- How to yield a thread in Rust?
See more codes...