Rust: распаковка структуры с произвольным именем – методы и примеры кода

Чтобы распаковать структуру с произвольным именем в 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.