rustRust struct as trait
A Rust struct can be used as a trait by implementing the trait for the struct. This allows the struct to use the methods and properties of the trait. For example, the following code defines a Point
struct and implements the Display
trait for it:
struct Point {
x: i32,
y: i32,
}
impl Display for Point {
fn fmt(&self, f: &mut Formatter) -> fmt::Result {
write!(f, "({}, {})", self.x, self.y)
}
}
let p = Point { x: 3, y: 4 };
println!("{}", p);
Output example
(3, 4)
The code above defines a Point
struct with two fields x
and y
. The impl Display for Point
block implements the Display
trait for the Point
struct. This allows the Point
struct to use the fmt
method of the Display
trait. The println!
macro then uses the fmt
method to print the Point
struct.
Helpful links
Related
- Example of bit field in Rust struct
- How to get struct length in Rust
- How to update struct in Rust
- How to extend struct from another struct in Rust
- How to copy struct in Rust
- How to init zero struct in Rust
- Example of Rust struct with closure
- How to convert struct to protobuf in Rust
- How to clone struct in Rust
- How to serialize struct to xml in Rust
More of Rust
- How to replace a capture group using Rust regex?
- How to match the end of a line in a Rust regex?
- How to match whitespace with a regex in Rust?
- How to use regex captures in Rust?
- How to use regex lookbehind in Rust?
- How to use regex to match a double quote in Rust?
- How to create a HashMap of structs in Rust?
- Generator example in Rust
- How to convert the keys of a Rust HashMap to a vector?
- How to use non-capturing groups in Rust regex?
See more codes...