MST

星途 面试题库

面试题:Rust中Result和Option复杂嵌套的模式匹配

已知有如下类型定义:`enum Inner { Value(i32), Empty }`,`enum Outer { Data(Option<Inner>), Error(String) }`。现有一个`fn process(outer: Outer) -> ()`函数,要求使用模式匹配来处理`Outer`枚举值,若为`Data`且`Inner`为`Value`,打印出该整数值;若为`Data`但`Inner`为`Empty`,打印`"Empty Inner"`;若为`Error`,打印错误信息。
47.6万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn process(outer: Outer) -> () {
    match outer {
        Outer::Data(Some(Inner::Value(i))) => println!("{}", i),
        Outer::Data(Some(Inner::Empty)) => println!("Empty Inner"),
        Outer::Data(None) => (),
        Outer::Error(s) => println!("{}", s),
    }
}