最近,我看到了Apple的WWDC 2015主题演讲。我也看了一些文档,但是找不到“如果…中的模式匹配”部分,即它们在其中一张幻灯片上的书写方式。(来自Apple Events的 68分钟00秒视频)
你知道这是什么意思吗?还是语法?
它真正的意思是,if语句现在已经支持模式匹配,就像switch语句一样。例如,以下是使用if / else if / else语句“切换”枚举大小写的有效方法。
enum TestEnum { case One case Two case Three } let state = TestEnum.Three if case .One = state { print("1") } else if case .Two = state { print("2") } else { print("3") }
现在,以下是一种检查是否someInteger在给定范围内的可接受方法。
someInteger
let someInteger = 42 if case 0...100 = someInteger { // ... }
这是使用The Swift Programming Language中的可选模式的另外几个示例
let someOptional: Int? = 42 // Match using an enumeration case pattern if case .Some(let x) = someOptional { print(x) } // Match using an optional pattern if case let x? = someOptional { print(x) }