Swift模式
模式(Patterns)
本页内容包括:
- 通配符模式(Wildcard Pattern)
- 标识符模式(Identifier Pattern)
- 值绑定模式(Value-Binding Pattern)
- 元组模式(Tuple Pattern)
- 枚举用例模式(Enumeration Case Pattern)
- 类型转换模式(Type-Casting Patterns)
- 表达式模式(Expression Pattern)
模式(pattern)代表了单个值或者复合值的结构。例如,元组(1, 2)
的结构是逗号分隔的,包含两个元素的列表。因为模式代表一种值的结构,而不是特定的某个值,你可以把模式和各种同类型的值匹配起来。比如,(x, y)
可以匹配元组(1, 2)
,以及任何含两个元素的元组。除了将模式与一个值匹配外,你可以从合成值中提取出部分或全部,然后分别把各个部分和一个常量或变量绑定起来。
在Swift中,模式出现在变量和常量的声明(在它们的左侧),for-in
语句和switch
语句(在它们的case标签)中。尽管任何模式都可以出现在switch
语句的case标签中,但在其他情况下,只有通配符模式(wildcard pattern),标识符模式(identifier pattern)和包含这两种模式的模式才能出现。
你可以为通配符模式(wildcard pattern),标识符模式(identifier pattern)和元组模式(tuple pattern)指定类型注释,用来限制这种模式只匹配某种类型的值。
模式(Patterns) 语法
模式 → 通配符模式 类型注解 可选
模式 → 标识符模式 类型注解on) 可选
模式 → 值绑定模式
模式 → 元组模式 类型注解 可选
模式 → enum-case-pattern
模式 → type-casting-pattern
模式 → 表达式模式