rustHow to map struct in Rust
Mapping a struct in Rust is done using the .map()
method. This method takes a closure as an argument and applies it to each element of the struct. The closure can be used to modify the elements of the struct, or to create a new struct with the modified elements.
Example
struct Point {
x: i32,
y: i32,
}
let points = vec![
Point { x: 0, y: 0 },
Point { x: 1, y: 5 },
Point { x: 10, y: -3 },
];
let new_points = points.map(|p| Point { x: p.x, y: p.y + 1 });
println!("{:?}", new_points);
Output example
[Point { x: 0, y: 1 }, Point { x: 1, y: 6 }, Point { x: 10, y: -2 }]
Code explanation
struct Point { x: i32, y: i32, }
: This is the definition of the structPoint
, which contains two fields,x
andy
, both of typei32
.let points = vec![ Point { x: 0, y: 0 }, Point { x: 1, y: 5 }, Point { x: 10, y: -3 }, ];
: This creates a vector ofPoint
structs.let new_points = points.map(|p| Point { x: p.x, y: p.y + 1 });
: This uses the.map()
method to apply a closure to each element of thepoints
vector. The closure creates a newPoint
struct with the samex
value as the original, but with they
value incremented by 1.println!("{:?}", new_points);
: This prints the modified vector ofPoint
structs.
Helpful links
Related
- Example of struct private field in Rust
- How to get struct value in Rust
- Rust struct without fields
- How to update struct in Rust
- Example of struct with vector field in Rust
- Example of struct public field in Rust
- Example of struct of structs in Rust
- How to generate struct from json in Rust
- How to serialize struct to json in Rust
More of Rust
- How to replace strings using Rust regex?
- How to get a capture group using Rust regex?
- How to use regex to match a group in Rust?
- How to match whitespace with a regex in Rust?
- How to replace a capture group using Rust regex?
- How to use non-capturing groups in Rust regex?
- How to use regex to match a double quote in Rust?
- How to match the end of a line in a Rust regex?
- How to get an entry from a HashSet in Rust?
- Word boundary example in regex in Rust
See more codes...