Qby*_*yte 32 syntax if-statement pattern-matching swift swift2
最近我看到了Apple的2015年WWDC主题演讲.我也查看了一些文档,但是我找不到"if if pattern"部分,它是如何写在他们展示的幻灯片上的.(来自Apple Events的 68分00秒视频)
你知道这是指什么吗?还是语法?
Mic*_*lum 63
它真正意味着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")
}
Run Code Online (Sandbox Code Playgroud)
以下是检查是否someInteger在给定范围内的可接受方式.
let someInteger = 42
if case 0...100 = someInteger {
// ...
}
Run Code Online (Sandbox Code Playgroud)
以下是使用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)
}
Run Code Online (Sandbox Code Playgroud)