Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Struct 使用返回Rust中元组的函数初始化两个结构成员_Struct_Rust_Initialization_Tuples - Fatal编程技术网

Struct 使用返回Rust中元组的函数初始化两个结构成员

Struct 使用返回Rust中元组的函数初始化两个结构成员,struct,rust,initialization,tuples,Struct,Rust,Initialization,Tuples,所以我有一个函数,它返回一个由2个值组成的元组,我想把这些值赋给一个结构的两个不同成员。有没有一种方法可以做到这一点,而不必调用函数两次并分别提取每个值 我的想法是: let mut my_struct : MyStruct = MyStruct { (member1, member2): function_that_returns_tuple() } 目前,我正在对两个临时变量调用函数,然后将它们移动到结构成员,但我想知道是否有一种方法可以直接在初始化中执行此操作。我相信您现有的方法

所以我有一个函数,它返回一个由2个值组成的元组,我想把这些值赋给一个结构的两个不同成员。有没有一种方法可以做到这一点,而不必调用函数两次并分别提取每个值

我的想法是:

let mut my_struct : MyStruct = MyStruct {
    (member1, member2): function_that_returns_tuple()
}

目前,我正在对两个临时变量调用函数,然后将它们移动到结构成员,但我想知道是否有一种方法可以直接在初始化中执行此操作。

我相信您现有的方法是正确的。如果将变量命名为结构成员,则可以避免显式的member:value语法:

let (member1, member2) = function_that_returns_tuple();
MyStruct { member1, member2, }