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

苏州html网站模板搜索关键词软件

苏州html网站模板,搜索关键词软件,58同城做网站多少钱,网络公司排名哪家专业概述 Option是Rust语言设计中最重要的枚举类型之一,它编码了其它语言中空值与非空值的概念,差异在于,Rust不会允许你像其它语言一样以非空值的方式来使用一个空值,这避免了很多错误。Option在标准库中的定义如下: pu…

概述

Option是Rust语言设计中最重要的枚举类型之一,它编码了其它语言中空值与非空值的概念,差异在于,Rust不会允许你像其它语言一样以非空值的方式来使用一个空值,这避免了很多错误。Option在标准库中的定义如下:

pub enum Option<T> {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: Option<u32> = Some(2);
assert_eq!(x.is_none(), false);let x: Option<u32> = None;
assert_eq!(x.is_none(), true);

as_ref方法

as_ref方法将&Option转换成Option<&T>,原型定义如下:

pub const fn as_ref(&self) -> Option<&T>

as_mut方法

as_mut方法将&mut Option转换成Option<&mut T>,原型定义如下:

pub fn as_mut(&mut self) -> Option<&mut 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) -> Option<T>

使用示例:

let mut x = Some(2);
let y = x.take();
assert_eq!(x, None);
assert_eq!(y, Some(2));let mut x: Option<u32> = None;
let y = x.take();
assert_eq!(x, None);
assert_eq!(y, None);

replace方法

replace方法从option取出值,同时使用指定值修改原option值,原型定义如下:

pub fn replace(&mut self, value: T) -> Option<T>

使用示例:

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.yayakq.cn/news/222598/

相关文章:

  • 德化住房和城乡建设网站想做个网站要多少钱
  • 北京网站建设116net上海浦东建筑建设网站
  • 有没有便宜的网站建设网站建设可行性分析包括什么
  • 重庆网站制作公司重庆找app开发公司
  • 夺宝网站建设网页版攻速传奇
  • 代做毕业设计网站 道路桥梁自己小程序制作流程
  • 免费 网站 如何做今天的国内新闻
  • 南京品牌网站建设怎样推广广告
  • 网站正能量免费推广软件晚上建设工程168网站
  • 网站模板下载 网盘公司网站建设需要多少钱
  • 怎么做跟别人一样的网站吗南宁网站建设 超博网络
  • 网站设计平台邯郸注册公司
  • 青山湖南昌网站建设31省份新增40例本土确诊
  • 建设学校网站需求分析现在网站优化怎么做
  • 短视频创作平台网站建设优化公司呼和浩特
  • 怎样建立自己的网站卖东西最大的网站建设公司排名
  • 网站编程零基础入门制作wordpress页面模板
  • 小工程承包信息网宁波seo快速排名
  • 网站建设公司品牌为爱直播视频
  • 如何做网站可以吗哪个网站可以做装修效果图
  • 申请网址的网站xyz溢价域名最好的网站
  • 网站的二次开发是什么意思手机网站 代码格式
  • 网站建设开场白怎么说电子商务公司开发网站
  • 深圳聘请做网站人员个人网站界面设计图片
  • seo推广培训徐州seo外包平台
  • 网站图片自动轮换怎么做的深圳保障性住房轮候查询
  • 宜春静态管理优化大师下载安装
  • 辽宁网站建站优化公司电子商务平台包括哪些类型
  • 网站美工外包公司wordpress catchy
  • 网站做优化是什么意思wordpress静态ip