7.1 枚举(可存储不同类型的值)
7.1.1 基本概念


7.1.2 枚举的简洁用法:构造函数

7.1.3 枚举的优势:处理不同类型和数量的数据
- 枚举成员的类型:字符串、数字类型、结构体、枚举
- 注意:在未将标准库枚举引入当前作用域中时,可以创建与标准库中同名的枚举!


7.1.4 在枚举中定义方法

7.2 Option 枚举
T表示不会存在空值的情况;Option<T>表示存在空值的情况,需要考虑对空值的处理Option<T>和T是不同类型的,无法直接进行计算(也就是说,在对Option<T>进行运算之前必须将其转换为T)Option已经引入 prelude 中,无需前缀Option::,可直接使用Some、None



7.3 match 控制流结构
7.3.1 match 基础
match的分支组成结构:匹配模式Coin::Penny+=>+ 代码块{some_code}组成;match可以有多个分支match的匹配模式类型:字面值、变量、通配符、其他内容- 每个分支相关联的代码作为一个表达式,而表达式的结果值将作为整个
match表达式的返回值 - 如果想要在分支中运行多行代码,可以使用大括号,而分支后的逗号是可选的


7.3.2 match 绑定值的模式

7.3.3 match 匹配 Option<T>

7.3.4 match 必须是穷尽的

7.3.5 match 中的通配模式和 _ 占位符
- 需要利用变量:通配模式
other => fn(other),,且必须作为最后一个分支 - 不需要利用变量:
_占位符,_ => fn(), - 不需要利用变量,且不做任何事:
_ => (),,返回单元值


7.4 if let 简洁控制流
if let:只匹配一个模式的值而忽略其他模式的情况if let xxx else xxx:匹配**两个模式(两种情况)**的值,并分别处理


7.5 小结




















