如果让我试试?给出可选值

时间:2017-11-24 07:43:19

标签: swift

返回Int?并抛出错误的函数。

enum MyError : Error {
    case anError
}

func test(value:Int) throws -> Int? {
    guard value > 2 else {
        throw MyError.anError
    }
    return value
}

try if let就像这样。

if let val = try? test(value: 4) {
    print(val) // Optional(4)
}
如果让括号,

val是可选的吗?为什么呢?

,这也提供了可选值

if let val = try? test(value: 4) as Int? {
    print(val) // Optional(4)
}

0 个答案:

没有答案