MST

星途 面试题库

面试题:Rust中复杂嵌套数据结构的模式匹配与生命周期

考虑如下复杂的Rust数据结构: ```rust struct Inner<'a> { data: &'a str, } struct Outer<'a> { inner: Option<Box<Inner<'a>>>, } fn process_outer(outer: Outer<'_>) -> Option<&str> { // 在此处编写代码,使用模式匹配解构`Outer`结构体, // 如果`inner`存在,返回`Inner`结构体中的`data`,否则返回`None`。 // 注意处理好生命周期问题,确保代码能够正确编译。 } ``` 请实现`process_outer`函数,使用模式匹配解构复杂的嵌套数据结构,并处理好相关的生命周期。
17.8万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
struct Inner<'a> {
    data: &'a str,
}

struct Outer<'a> {
    inner: Option<Box<Inner<'a>>>,
}

fn process_outer(outer: Outer<'_>) -> Option<&str> {
    match outer.inner {
        Some(inner) => Some(inner.data),
        None => None,
    }
}