微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift 2 – 模式匹配在“if”

最近我看到了来自苹果的WWDC 2015主题演讲。我也看了一些文档,但我找不到“模式匹配if”部分,它是如何写在他们已经显示幻灯片之一。
(6800分00秒视频从 Apple Events)

你知道这是指什么吗?还是语法?

所有这真的意味着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 {
    // ...
}

下面是使用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)
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐