Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
#[derive(Debug, Clone, PartialEq)] struct Point { x: f64, y: f64, } // Tuple struct — a newtype wrapper #[derive(Debug, Clone, Copy)] struct Meters(f64); // Unit-like struct #[derive(Debug)] struct Marker; fn main() { // Named-field struct let origin = Point { x: 0.0, y: 0.0 }; println!("origin = {:?}", origin); // Field init shorthand let x = 3.0_f64; let y = 4.0_f64; let p = Point { x, y }; println!("p = {:#?}", p); // Struct update syntax — copy remaining fields from another instance let q = Point { x: 1.0, ..p }; println!("q = {:?}", q); // PartialEq derived println!("p == q : {}", p == q); println!("p == p.clone() : {}", p == p.clone()); // Tuple struct let dist = Meters(42.5); println!("distance = {} m", dist.0); // Unit-like struct let _m = Marker; println!("marker = {:?}", _m); // Destructuring let Point { x: px, y: py } = p; println!("destructured: px={px} py={py}"); }
Result
Open