A struct is a nominal struct type defined with the keyword struct
.
An example of a struct
item and its use:
# #![allow(unused_variables)] #fn main() { struct Point {x: i32, y: i32} let p = Point {x: 10, y: 11}; let px: i32 = p.x; #}
A tuple struct is a nominal tuple type, also defined with the keyword struct
. For example:
# #![allow(unused_variables)] #fn main() { struct Point(i32, i32); let p = Point(10, 11); let px: i32 = match p { Point(x, _) => x }; #}
A unit-like struct is a struct without any fields, defined by leaving off the list of fields entirely. Such a struct implicitly defines a constant of its type with the same name. For example:
# #![allow(unused_variables)] #fn main() { struct Cookie; let c = [Cookie, Cookie {}, Cookie, Cookie {}]; #}
is equivalent to
# #![allow(unused_variables)] #fn main() { struct Cookie {} const Cookie: Cookie = Cookie {}; let c = [Cookie, Cookie {}, Cookie, Cookie {}]; #}
The precise memory layout of a struct is not specified. One can specify a particular layout using the repr
attribute.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/reference/items/structs.html