if 语句 - Swift 2 - "if"中的模式匹配



最近我看到了苹果公司2015年全球开发者大会的主题演讲。我也看了一些文档,但我找不到"if中的模式匹配"部分,它是如何写在他们展示的幻灯片上的。(来自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是否在给定范围内的一种可接受的方法。

let someInteger = 42
if case 0...100 = someInteger {
    // ...
}

下面是几个使用Swift编程语言

中的可选模式的例子
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)
}

最新更新