MST

星途 面试题库

面试题:Rust中如何在map操作中处理Result类型错误

假设你有一个`Result`类型的`Vec`,例如`let numbers: Vec<Result<i32, String>> = vec![Ok(1), Err("error".to_string()), Ok(3)];`,请编写代码使用`map`方法将每个`Ok`值乘以2,并正确处理`Err`情况,返回一个新的`Vec<Result<i32, String>>`。
41.5万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn main() {
    let numbers: Vec<Result<i32, String>> = vec![Ok(1), Err("error".to_string()), Ok(3)];
    let new_numbers: Vec<Result<i32, String>> = numbers.into_iter()
       .map(|result| result.map(|num| num * 2))
       .collect();
    println!("{:?}", new_numbers);
}