模式和匹配
模式 是 Rust 中用于匹配类型结构(无论是复杂还是简单)的特殊语法。将模式与 match
表达式和其他构造结合使用,可以为您提供更多的程序控制流控制。模式由以下内容的某种组合构成:
- 字面量
- 解构数组、枚举、结构体或元组
- 变量,输出
- 通配符
- 占位符,直接输出翻译,不添加任何额外文本。绝对不要添加原始翻译内容中没有的符号或标签。记住,保留所有HTML标签和属性,只翻译内容!
一些示例模式包括x
,(a, 3)
,和Some(Color::Red)
。在模式有效的上下文中,这些组件描述了数据的形状。然后,我们的程序将值与模式进行匹配,以确定是否具有正确的数据形状以继续运行特定的代码。
要使用模式,我们需要将其与某个值进行比较。如果模式匹配该值,我们就可以在代码中使用该值的部分。回想第 6 章中使用模式的 match
表达式,例如硬币分类机的例子。如果值符合模式的形状,我们可以使用命名的部分。如果不匹配,与该模式关联的代码将不会运行。
这一章是关于所有与模式相关的事物的参考。我们将涵盖使用模式的有效位置,可反驳和不可反驳模式之间的区别,以及你可能会看到的不同种类的模式语法。到本章结束时,你将知道如何使用模式以清晰的方式表达许多概念。