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

问题描述 投票:0回答:1

所以我有一个返回2个值的元组的函数,我想将这些值分配给结构的两个不同成员。有没有办法做到这一点,而无需调用该函数两次并单独提取每个值?

我想的是:

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

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

struct rust initialization tuples
1个回答
1
投票

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

let (member1, member2) = function_that_returns_tuple();
MyStruct { member1, member2, }
© www.soinside.com 2019 - 2024. All rights reserved.