MST

星途 面试题库

面试题:Rust中模式匹配在复杂结构体处理的应用

假设有一个复杂的Rust结构体`Person`,包含`name: String`,`age: u32`,`address: String`。现在有一个`Vec<Person>`,请使用模式匹配实现一个函数,从这个向量中找出年龄大于30岁的人的名字,并返回这些名字组成的`Vec<String>`。
22.1万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
struct Person {
    name: String,
    age: u32,
    address: String,
}

fn find_names_over_30(people: &Vec<Person>) -> Vec<String> {
    people.iter()
        .filter(|person| match person {
            Person { age, .. } if *age > 30 => true,
            _ => false,
        })
        .map(|person| person.name.clone())
        .collect()
}