struct - 如何从元组结构中提取值?

标签 struct rust

我有一个结构对象,其中一个字段来自外部库,定义为:pub struct SomeId(pub i64);

使用 println! 打印对象显示了这一点,例如:SomeId(123)

我创建了自己的结构:

#[derive(Debug)]
pub struct Something {
    pub id: i64,
}

我正在尝试将外部结构 SomeId 的值放入我的结构 Something 中的字段 id:

let test = Something { id: ?? };

或者从SomeId结构中提取值:

let test: i64 = ??;

最佳答案

也可以使用结构解构从 SomeId 中提取值。

pub struct SomeId(pub i64);

#[derive(Debug)]
pub struct Something {
    pub id: i64,
}

fn main() {
    let some_id = SomeId(42);
    let SomeId(id) = some_id;
    let test = Something { id: id };
    let test: i64 = id;
}

Link更多示例。

关于struct - 如何从元组结构中提取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45690562/

相关文章:

c - 使用 void 指针传递多个值的参数

Python解压二进制数据,长度为12的数字

filter - 无法将过滤后的 Vec 收集到自身中

rust - Rust 对临时值的不可变和可变引用是如何删除的?

c - 在结构中设置 void* 的第 n 个成员(以及结构名称用法与 typedef)

输入字符后代码块崩溃,同时还执行其他一些代码

c - 如何访问结构内部的 union ?

rust - 如何解析 RFC2822 中的日期,允许在字符串末尾使用时区?

arrays - 使用 const 泛型将可变指针数组转换为可变引用

ubuntu - spl-token : error while loading shared libraries: libssl. so.1.1:无法打开共享对象文件:没有这样的文件或目录