MST

星途 面试题库

面试题:Rust中使用元组解构赋值实现复杂逻辑与错误处理

假设你有一个函数 `parse_and_process`,它返回一个结果类型 `Result<(i32, f64, String), String>`。如果结果是 `Ok`,则通过解构赋值提取元组中的三个值,并根据这三个值进行复杂的计算(例如:如果整数大于10,将浮点数乘以2,然后将字符串的长度加到结果上),如果结果是 `Err`,则打印错误信息。请给出完整的Rust代码实现。
47.5万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn parse_and_process() -> Result<(i32, f64, String), String> {
    // 这里只是示例返回值,实际函数会有具体实现
    Ok((15, 3.14, "hello".to_string()))
}

fn main() {
    let result = parse_and_process();
    match result {
        Ok((num, float, string)) => {
            let mut final_result = 0.0;
            if num > 10 {
                final_result = float * 2.0;
                final_result += string.len() as f64;
            }
            println!("Final result: {}", final_result);
        },
        Err(err) => {
            println!("Error: {}", err);
        }
    }
}