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

时间:2019-03-10 02:01:09

标签: struct rust initialization tuples

所以我有一个返回2个值的元组的函数,我想将这些值分配给结构的两个不同成员。有没有一种方法可以不必调用函数两次并分别提取每个值?

我在想类似的东西:

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

当前,我在两个临时变量上调用该函数,然后将它们移至struct成员,但我想知道是否有一种方法可以在初始化中直接进行操作。

1 个答案:

答案 0 :(得分:1)

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

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