Struct 如何从元组结构中提取值?
我有一个结构的对象,其中有一个来自外部库的字段,定义为:pub struct SomeIdpub i64 使用println!打印对象时会显示以下内容,例如:SomeId123 我创建了自己的结构:Struct 如何从元组结构中提取值?,struct,rust,Struct,Rust,我有一个结构的对象,其中有一个来自外部库的字段,定义为:pub struct SomeIdpub i64 使用println!打印对象时会显示以下内容,例如:SomeId123 我创建了自己的结构: #[derive(Debug)] pub struct Something { pub id: i64, } 我试图将值从外部结构SomeId放到我的结构SomeId中的字段id: 或从struct SomeId中提取值: 你也许应该试试 let test = Something { id
#[derive(Debug)]
pub struct Something {
pub id: i64,
}
我试图将值从外部结构SomeId放到我的结构SomeId中的字段id:
或从struct SomeId中提取值:
你也许应该试试
let test = Something { id: external_struct.0 };
或者,对于第二个问题:
let test = external_struct.0;
这些结构的形式是struct structnamevariables。。。被称为元组结构,其行为与rust中的元组非常相似。您可能应该试试
let test = Something { id: external_struct.0 };
或者,对于第二个问题:
let test = external_struct.0;
这些结构的形式是struct structnamevariables。。。被称为元组结构,其行为与rust中的元组非常相似。您可能正在寻找以下类似的东西
pub struct SomeId(i32);
#[derive(Debug)]
pub struct Something {
pub id: i32,
}
fn main() {
let sid = SomeId(10);
let sth = Something { id: sid.0 };
println!("{:?}", sth);
}
也许你正在寻找下面这样的东西
pub struct SomeId(i32);
#[derive(Debug)]
pub struct Something {
pub id: i32,
}
fn main() {
let sid = SomeId(10);
let sth = Something { id: sid.0 };
println!("{:?}", sth);
}
也可以使用struct destructuring从SomeId提取值
查看更多示例。也可以使用struct destructuring从SomeId提取值
更多示例。您的问题是什么。。?顺便说一句,SomeId是一个元组结构,SomeId是一个普通的结构——如果你问的是模式匹配的话,它不完全是苹果和苹果。你的问题是什么。。?顺便说一句,SomeId是一个元组结构,而SomeId是一个普通结构——如果你问的是模式匹配的话,就不完全是苹果和苹果。说let test=external\u struct会创建一个SomeId类型的变量,而不是SomeId。啊,我没有注意到external\u struct是SomeId,因为它在文本中而不是代码中-P抱歉,我弄错了。说let test=external_struct会创建一个SomeId类型的变量,而不是SomeId。啊,我错过了外部_struct是SomeId,因为它在文本中而不是代码中-对不起,我的错误。