Существует три способа определения структуры ( Книга Глава 5 ).
- Объявление пустой (нулевой) структуры
struct Foo;
- Объявление структуры кортежа
struct Bar(i32, u32, String);
- Объявление структуры с именованными полями
struct Baz {
first: i32,
second: u32,
third: String,
}
Другого пути нет.
Деструктурирование работает для всех трех вариантов.
let a = Foo;
let Bar(f, s, t) = Bar(3, 5, String::from("Hallo"));
let Baz { first, second, third } = Baz { first: 3, second: 5, third: String::from("Hello") };
( Детская площадка )