rustHow to compare structs in Rust
Comparing structs in Rust is done using the PartialEq
and Eq
traits. The PartialEq
trait allows for comparison of two structs using the ==
operator, while the Eq
trait allows for comparison of two structs using the ==
and !=
operators.
Example code
use std::cmp::PartialEq;
#[derive(PartialEq)]
struct Point {
x: i32,
y: i32,
}
fn main() {
let p1 = Point { x: 1, y: 2 };
let p2 = Point { x: 1, y: 2 };
assert!(p1 == p2);
}
Output example
assertion successful
Code explanation
use std::cmp::PartialEq
: This imports thePartialEq
trait from thestd::cmp
module.#[derive(PartialEq)]
: This derives thePartialEq
trait for thePoint
struct, allowing it to be compared using the==
operator.let p1 = Point { x: 1, y: 2 };
: This creates aPoint
struct withx
andy
values of1
and2
respectively.let p2 = Point { x: 1, y: 2 };
: This creates a secondPoint
struct withx
andy
values of1
and2
respectively.assert!(p1 == p2);
: This uses the==
operator to compare the twoPoint
structs, and asserts that they are equal.
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...