模式與配對

模式(Patterns)是 Rust 中的特殊語法,能用來配對複雜與簡單的型別結構。搭配 match 表達式與其他結構來使用模式的話,可以給予你對程式控制流更多的掌控權。模式與以下元件組合而成:

  • 字面值(Literals)
  • 解構的陣列、列舉結構體或元組
  • 變數
  • 萬用字元(Wildcards)
  • 佔位符(Placeholders)

模式的範例包含 x(a, 3) 以及 Some(Color::Red)。當我們提到哪些模式是有效的時候,這些元件描述了我們要處理的資料形狀。我們的程式與其數值配對來決定我們的程式是否有取得正確的資料來繼續執行特定部分的程式碼。

要使用模式,我們將其與一些數值做比較。如果模式配對到數值的話,我們就能在程式碼中使用該數值部分。回憶一下第六章中使用模式的 match 表達式,像是硬幣分類機器的範例。如果有數值符合模式的形狀,我們就可以使用這些命名的部分。如果沒有的話,配對相關的程式碼就不會執行。

本章節會涵蓋所有與模式相關的內容。我們會討論能使用模式的地方,可反駁(refutable)與不可反駁(irrefutable)模式間的差別,以及不同種類的模式語法。在本章結束後,你便能知道如何使用模式來清楚表達許多概念。