Vector 如何从Rust中的结构数组中获取字段值数组?

Vector 如何从Rust中的结构数组中获取字段值数组?,vector,struct,rust,iterator,map-function,Vector,Struct,Rust,Iterator,Map Function,我想将结构数组映射到字段值数组。我该怎么做 pub-struct-Person{ 名称:String } fn main(){ 让我的人民=vec[ 人{ 名称:“Bob”。to_string(), }, 人{ 名称:“吉尔”。to_string(), }, 人{ 名称:“Rakim.to_string(), }, ]; //将我的团队映射到[“鲍勃”、“吉尔”、“拉基姆”] } 根据您是要克隆名称还是借用名称,您有两种可能的解决方案。以下两种解决方案: pub-struct-Person{

我想将结构数组映射到字段值数组。我该怎么做

pub-struct-Person{
名称:String
} 
fn main(){
让我的人民=vec[
人{
名称:“Bob”。to_string(),
},
人{
名称:“吉尔”。to_string(),
},
人{
名称:“Rakim.to_string(),
},
];
//将我的团队映射到[“鲍勃”、“吉尔”、“拉基姆”]
}

根据您是要克隆名称还是借用名称,您有两种可能的解决方案。以下两种解决方案:

pub-struct-Person{
名称:String,
}
fn人员姓名(人员:&[人员])->Vec{
people.iter().map(| p | p.name.clone()).collect()
}
fn人员名称借用(人员:&[Person])->Vec{
people.iter().map(| p | p.name.as_ref()).collect()
}
fn main(){
让我的人民=vec[
人{
名称:“Bob”。to_string(),
},
人{
名称:“吉尔”。to_string(),
},
人{
名称:“Rakim.to_string(),
},
];
println!(“{:?}”,人名,所有人和我的人);
println!(“{:?}”,人名,借来的人名(&我的人名));
}

第三种选择可能是在流程中使用人员列表并返回所拥有的字符串,而无需克隆。