欢迎光临散文网 会员登陆 & 注册

关于 rust 中 Option

2023-03-24 14:59 作者:skylon2001  | 我要投稿

在标准库(std)中有个叫做 Option<T>(option 中文意思是 “选项”)的枚举类型,用于有 “不存在” 的可能性的情况。


在标准库(std)中有个叫做 Option<T>(option 中文意思是 “选项”)的枚举类型,用于有 “不存在” 的可能性的情况。


在标准库(std)中有个叫做 Option<T>(option 中文意思是 “选项”)的枚举类型,用于有 “不存在” 的可能性的情况。


认真读三遍。


它表现为以下两个 “option”(选项)中的一个:

  • Some(T):找到一个属于 T 类型的元素

  • None:找不到相应元素

```

fn give_commoner(gift: Option<&str>) {

    // 指出每种情况下的做法。

    match gift {

        Some("snake") => println!("Yuck! I'm throwing that snake in a fire."),

        Some(inner)   => println!("{}? How nice.", inner),

        None          => println!("No gift? Oh well."),

    }

}

fn give_princess(gift: Option<&str>) {

    // `unwrap` 在接收到 `None` 时将返回 `panic`。

    let inside = gift.unwrap();

    if inside == "snake" { panic!("AAAaaaaa!!!!"); }


    println!("I love {}s!!!!!", inside);

}

fn main() {

   let bird = Some("robin");

   give_princess(bird);

   give_princess(nothing);

}

```


关于 rust 中 Option的评论 (共 条)

分享到微博请遵守国家法律