最近我看到了 Apple 的 WWDC 2015 主题演讲。我还查看了一些文档,但我找不到“if 中的模式匹配”部分,它是如何写在他们展示的一张幻灯片上的。(来自Apple Events的 68 分钟 00 秒视频)
你知道这是指什么吗?还是语法?
最近我看到了 Apple 的 WWDC 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 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)
}