键盘快捷键

按 ← 或 → 在章节之间导航

按 S 或 / 在本书中搜索

按 ? 显示此帮助

按 Esc 隐藏此帮助

模式与匹配

模式(pattern)是 Rust 中一种特殊的语法,用于匹配类型的结构,无论结构是复杂还是简单。将模式与 match 表达式及其他结构结合使用,可以让你更好地控制程序的控制流。模式由以下部分的某种组合构成:

  • 字面值
  • 解构的数组、枚举、结构体或元组
  • 变量
  • 通配符
  • 占位符

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

要使用模式,我们将其与某个值进行比较。如果模式与该值匹配,我们就可以在代码中使用该值的各个部分。回忆一下第 6 章中使用模式的 match 表达式,比如硬币分类机的示例。如果值符合模式的形状,我们就可以使用其中命名的部分。如果不符合,与该模式关联的代码就不会运行。

本章是关于模式的所有相关内容的参考。我们将介绍可以使用模式的所有有效位置、可反驳(refutable)模式与不可反驳(irrefutable)模式之间的区别,以及你可能会见到的各种模式语法。到本章结束时,你将知道如何使用模式来清晰地表达许多概念。