Skip to content

Swift 进阶【三】可选值

轩辕十四
Published date:

Swift 中可选值的定义如下

enum Optional<Wrapped> {
    case none
    case some(wrapped)
}

因为 Optional 是枚举类型,所以有的时候可以用模式匹配来进行一些巧妙的操作:

let ary = [1, 2, nil, 4, nil, 44]
for case let i? in ary {
    print(i)
}
// 1, 2, 4, 44
for case nil in ary {
    print("No Value")
}

这里使用了 x? 这个模式,它只会匹配那些非 nil 的值。这个语法是 .Some(x) 的简写形式,所以该循环还可以被写为:

for case let .some(i) in ary {
}
Previous
Swift 进阶【四】结构体和类
Next
Swift 进阶【二】集合类型协议