面试题答案
一键面试// 定义自定义错误类型
#[derive(Debug)]
struct ContainerError;
// 定义泛型结构体ResultContainer,包装操作结果
struct ResultContainer<T, E> {
result: std::result::Result<T, E>,
}
impl<T, E> ResultContainer<T, E> {
// 实现unwrap方法,如果操作失败返回ContainerError
fn unwrap(self) -> Result<T, ContainerError> {
match self.result {
Ok(value) => Ok(value),
Err(_) => Err(ContainerError),
}
}
}