面试题答案
一键面试fn parse_str_to_int(strings: &[&str]) -> Option<i32> {
if strings.len() != 1 {
return None;
}
strings[0].parse::<i32>().ok()
}
Option枚举相较于传统错误处理方式(如返回错误码)的优势:
- 代码简洁:使用
Option
枚举,代码中无需显式地处理错误码,使代码更加简洁明了。例如上述代码,只需要使用ok()
方法就可以简单地将Result
类型转换为Option
类型。 - 类型安全:
Option
是类型系统的一部分,编译器可以在编译时进行类型检查,避免因错误码处理不当导致的运行时错误。而传统错误码可能会因为类型错误或者错误码值错误而导致难以调试的问题。 - 链式调用方便:
Option
类型可以方便地进行链式调用,例如map
、and_then
等方法。这种链式调用使得代码逻辑更加紧凑和可读,而传统错误码方式在链式操作时需要额外的错误处理逻辑,使得代码变得冗长。