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

标签 struct rust initialization tuples

所以我有一个返回 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, }

关于struct - 在 Rust 中使用返回元组的函数初始化两个结构成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55083797/

相关文章:

尝试传递结构时 C++ 代码崩溃

c - 关于内存对齐的一些困惑

c - 使用函数指针的静态结构初始化

c - 将 xml 值映射到结构体值

rust - 在参数位置使用 `impl<T> From<T> for Option<T>` 是惯用的吗?

asynchronous - 为什么在结果上使用匹配语句会出现 "expected type Future"错误?

rust - Cargo.toml中的[dependencies]和[dependencies.dependency-name]有什么区别?

c - 在C中初始化字符串;以下有用吗?

swift - 如何防止自定义 init 方法在 Xcode 中泄露绝对源路径?

c# - 我应该使用静态类还是结构以外的其他东西?