- 枚举通过列举可能的 成员(variants) 来定义一个类型。
- 枚举用 enum 关键字定义。如:
|
|
- 枚举类型可以包含任何数据类型,包括枚举类型。
|
|
- 定义有多个关联值的枚举和定义多个不同类型的结构体相像。
- 枚举也可以使用
impl
关键字定义方法。
Option 枚举
- rust 没有空值的概念,通过 Option 枚举来表示有和没有的概念。如下:
|
|
- rust 默认不会产生空值,如果要使用一个空值必须显示的定义为一个
Option<T>
类型,并进行处理。
match 控制流运算符
|
|
- 顺序执行匹配模式,匹配成功后执行关联的代码,否则尝试继续匹配下一个分支。
- 匹配成功后不会继续执行下一个分支。
匹配 Option
- 取一个 Option
,如果其中含有一个值,将其加一。如果其中没有值,函数应该返回 None 值,而不尝试执行任何操作。
|
|
- 匹配是穷尽的,也即匹配必须处理所有可能出现的情况,否则无法编译通过。
- 通过通配符
_
(可以匹配所有的值)可以忽略不关心的可能的匹配情况。如下:
|
|
if let 简单控制流
- 等同于 match 匹配一个模式而忽略其他情况的情形。
|
|