Swift类型转换模式
类型转换模式(Type-Casting Patterns)
有两种类型转换模式,is
模式和as
模式。这两种模式均只出现在switch
语句中的case
标签中。is
模式和as
模式有以下形式:
istype
pattern
astype
is
模式匹配一个值,如果这个值的类型在运行时(runtime)和is
模式右边的指定类型(或者那个类型的子类)是一致的。is
模式和is
操作符一样,它们都进行类型转换,但是抛弃了返回的类型。
as
模式匹配一个值,如果这个值的类型在运行时(runtime)和as
模式右边的指定类型(或者那个类型的子类)是一致的。一旦匹配成功,匹配的值的类型被转换成as
模式左边指定的模式。
关于使用switch
语句来匹配is
模式和as
模式值的例子,请参阅Type Casting for Any and AnyObject
。
类型转换模式语法
type-casting-pattern → is模式 | as模式
is模式 → is 类型
as模式 → 模式 as 类型