模式与匹配
模式 是 Rust 中一种特殊的语法,用于匹配复杂和简单类型的结构。将模式与 match
表达式和其他构造结合使用,可以更好地控制程序的控制流。一个模式由以下一些组合构成:
- 字面量
- 解构的数组、枚举、结构体或元组
- 变量
- 通配符
- 占位符
一些模式的示例包括 x
,(a, 3)
和 Some(Color::Red)
。在模式有效的上下文中,这些组件描述数据的形状。然后,我们的程序将值与模式进行匹配,以确定它是否具有正确的数据形状以继续运行特定的代码段。
要使用模式,我们将其与某个值进行比较。如果模式与该值匹配,我们将在代码中使用该值的部分。回想一下第六章中使用模式的 match
表达式,例如硬币分拣机示例。如果该值符合模式的形状,我们可以使用命名部分。如果它不匹配,则与该模式相关的代码将不会运行。
本章是关于模式相关的所有内容的参考。我们将涵盖使用模式的有效位置,可反驳和不可反驳模式之间的差异,以及你可能看到的各种模式语法。在本章结束时,你将知道如何使用模式以清晰的方式表达许多概念。