空指针是很多语言都存在的问题,Rust 引入了一个写法 Option,有两种可能的值 Some(value) 和 None,解决了这个问题。
比如如下函数:
fn f() -> Option { }
具体地说,函数的返回类型如果不是 Option,则不允许返回 None。 如果是 Option,则可以返回 None,这就大大限制了 None 出现的机会。
这提供了更安全可靠的编程。语法上看 Option 定义为 Enum 枚举类型。Some 的 value 通常用模式匹配处理。
http://ruster.xyz/