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