Чтобы распаковать структуру с произвольным именем в Rust, вы можете использовать синтаксис деструктурирующего присваивания. Вот несколько методов с примерами кода:
Метод 1: Деструктуризация назначения
struct MyStruct {
custom_name: u32,
}
fn main() {
let my_struct = MyStruct {
custom_name: 42,
};
let MyStruct { custom_name: my_variable } = my_struct;
println!("The custom name value is: {}", my_variable);
}
В этом методе мы используем деструктурирующее присваивание для извлечения значения поля custom_nameиз экземпляра MyStructи привязки его к переменной my_variable.
Метод 2: использование точечной записи
struct MyStruct {
custom_name: u32,
}
fn main() {
let my_struct = MyStruct {
custom_name: 42,
};
let my_variable = my_struct.custom_name;
println!("The custom name value is: {}", my_variable);
}
В этом методе мы напрямую получаем доступ к полю custom_nameэкземпляра MyStruct, используя точечную нотацию, и присваиваем его переменной my_variable.
Метод 3. Использование вспомогательной функции
struct MyStruct {
custom_name: u32,
}
fn extract_custom_name(my_struct: MyStruct) -> u32 {
my_struct.custom_name
}
fn main() {
let my_struct = MyStruct {
custom_name: 42,
};
let my_variable = extract_custom_name(my_struct);
println!("The custom name value is: {}", my_variable);
}
В этом методе мы определяем вспомогательную функцию под названием extract_custom_name, которая принимает экземпляр MyStructи возвращает значение поля custom_name. Затем мы вызываем эту функцию, чтобы извлечь значение и присвоить его переменной my_variable.