Rust中的Some

1、首先要知道什么是Option和Result
来源:
许多语言使用null/nil/undefined类型来代表空的输出和处理异常错误。Rust跳过了,特别是防止空指针异常之类的问题,由于异常等原因导致敏感数据泄漏等等。相反,Rust提供了两个特殊的类枚举:Option和Result就是来处理以上的问题
内容:

  • 可选的值要么是Some要么是没有值/None
  • Result要么用成功/Ok要么是失败/Err
    // An output can have either Some value or no value/ None. enum Option { // T is a generic and it can contain any type of value. Some(T), None, }// A result can represent either success/ Ok or failure/ Err. enum Result { // T and E are generics. T can contain any type of value, E can be any error. Ok(T), Err(E), }

    并且不需要单独引入它们
    Option的基础用法:
    在写一个函数或者数据类型的时候:
  • 如果一个函数的参数是可选的
  • 如果函数是非空的并且输出的返回可能不是空值
  • 如果一个值,活着是一个属性的数据类型可能是空
【Rust中的Some】2、我们不得不使用Option作为它们的数据类型
例如,一个函数的输出可能是&str类型或者是输出是空,函数的返回类型可以被设置为 Option<&str>
fn get_an_optional_value() -> Option<&str> {//if the optional value is not empty return Some("Some value"); //else None }

struct Name { first_name: String, middle_name: Option, // middle_name can be empty last_name: String, }

参考:https://learning-rust.github.io/docs/e3.option_and_result.html
注:以上是个人学习的过程中翻译的,可能有些翻译不对,请见谅,欢迎指正

    推荐阅读