模式和匹配


模式是 Rust 中的一种特殊语法,用于匹配类型结构,包括 complex 和 simple。将模式与 match 结合使用 表达式和其他构造使您可以更好地控制程序的 控制流。模式由以下各项的某种组合组成:


  • 文字

  • 解构数组、枚举、结构或元组

  • 变量

  • 通配符

  • 占位符


一些示例模式包括 x(a, 3)Some(Color::Red)。在模式有效的上下文中,这些组件描述数据的形状。然后,我们的程序将值与模式进行匹配,以确定它是否具有正确的数据形状以继续运行特定代码段。


要使用模式,我们将其与某个值进行比较。如果 pattern 与 value 匹配,我们将在代码中使用 value 部分。回想一下第 6 章中 match 表达式中 使用 patterns 的表达式,例如硬币分拣机示例。如果该值符合图案的形状,我们可以使用命名的片段。否则,与该模式关联的代码将不会运行。


本章是所有与 patterns 相关内容的参考。我们将介绍使用 patterns 的有效位置、可反驳模式和不可反驳模式之间的区别,以及你可能会看到的不同类型的模式语法。在本章结束时,您将了解如何使用 Pattern 以清晰的方式表达许多概念。