本頁內(nèi)容包括:
模式(pattern)代表了單個值或者復(fù)合值的結(jié)構(gòu)。例如,元組(1, 2)的結(jié)構(gòu)是逗號分隔的,包含兩個元素的列表。因為模式代表一種值的結(jié)構(gòu),而不是特定的某個值,你可以把模式和各種同類型的值匹配起來。比如,(x, y)可以匹配元組(1, 2),以及任何含兩個元素的元組。除了將模式與一個值匹配外,你可以從合成值中提取出部分或全部,然后分別把各個部分和一個常量或變量綁定起來。
在Swift中,模式出現(xiàn)在變量和常量的聲明(在它們的左側(cè)),for-in語句和switch語句(在它們的case標(biāo)簽)中。盡管任何模式都可以出現(xiàn)在switch語句的case標(biāo)簽中,但在其他情況下,只有通配符模式(wildcard pattern),標(biāo)識符模式(identifier pattern)和包含這兩種模式的模式才能出現(xiàn)。
你可以為通配符模式(wildcard pattern),標(biāo)識符模式(identifier pattern)和元組模式(tuple pattern)指定類型注釋,用來限制這種模式只匹配某種類型的值。
模式(Patterns) 語法
模式 → 通配符模式 類型注解 可選
模式 → 標(biāo)識符模式 類型注解on) 可選
模式 → 值綁定模式
模式 → 元組模式 類型注解 可選
模式 → enum-case-pattern
模式 → type-casting-pattern
模式 → 表達式模式