当前位置: 首页 > news >正文

对网站建设的建议织梦网站地图自动更新

对网站建设的建议,织梦网站地图自动更新,长沙网站建设多少钱,东莞化工网站建设概述 Option是Rust语言设计中最重要的枚举类型之一#xff0c;它编码了其它语言中空值与非空值的概念#xff0c;差异在于#xff0c;Rust不会允许你像其它语言一样以非空值的方式来使用一个空值#xff0c;这避免了很多错误。Option在标准库中的定义如下#xff1a; pu…概述 Option是Rust语言设计中最重要的枚举类型之一它编码了其它语言中空值与非空值的概念差异在于Rust不会允许你像其它语言一样以非空值的方式来使用一个空值这避免了很多错误。Option在标准库中的定义如下 pub enum OptionT {None,Some(T), }Option枚举使用了泛型类型参数这表示Option的Some成员可以包含任意类型的数据同时如果类型参数T实现了Copy trait那么Option也就实现了Copy trait。 修改Option内部存储的值 由于Option类型将真正的数据存储到了内部因此需要通过模式进行内部存储数据的修改下面示例展示了常用的基于模式的修改方式另外通过Option类型提供的一些方法也可以达到修改的目的例如take/replace我们会在后面提及。 let mut x Some(34);// 方式一 match mut x {Some(v) *v 42, // 等价于mut Some(ref mut v)None {}, } assert_eq!(x, Some(42));// 方式二 match x {Some(ref mut v) *v 47,None {}, } assert_eq!(x, Some(47));Option的常用方法 is_none方法 is_none方法检查option的值是否是None原型定义如下 pub const fn is_none(self) - bool使用示例 let x: Optionu32 Some(2); assert_eq!(x.is_none(), false);let x: Optionu32 None; assert_eq!(x.is_none(), true);as_ref方法 as_ref方法将Option转换成OptionT原型定义如下 pub const fn as_ref(self) - OptionTas_mut方法 as_mut方法将mut Option转换成Optionmut T原型定义如下 pub fn as_mut(mut self) - Optionmut T使用示例 let mut x Some(2); match x.as_mut() {Some(v) *v 42,None {}, } assert_eq!(x, Some(42));take方法 take方法从option取出值原option值修改成为None原型定义如下 pub fn take(mut self) - OptionT使用示例 let mut x Some(2); let y x.take(); assert_eq!(x, None); assert_eq!(y, Some(2));let mut x: Optionu32 None; let y x.take(); assert_eq!(x, None); assert_eq!(y, None);replace方法 replace方法从option取出值同时使用指定值修改原option值原型定义如下 pub fn replace(mut self, value: T) - OptionT使用示例 let mut x Some(2); let old x.replace(5); assert_eq!(x, Some(5)); assert_eq!(old, Some(2));let mut x None; let old x.replace(3); assert_eq!(x, Some(3)); assert_eq!(old, None);unwrap方法 unwrap方法消费option值返回Some内的数据原型定义如下 pub fn unwrap(self) - T使用示例 let x Some(air); assert_eq!(x.unwrap(), air);关于Option的更多操作方法可以参考Rust标准库https://doc.rust-lang.org/std/option/enum.Option.html。 相关参考 《Rust程序设计》《Rust程序设计语言》
http://www.w-s-a.com/news/532/

相关文章:

  • 商品网站怎么做wordpress 表情拉长
  • 商城网站设计费用网络公司怎样推广网站
  • 视频公司的网站设计工图网
  • 免费快速网站十八个免费的舆情网站