Swift关键字defer

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25639809/article/details/85002547

defer 里的代码会在函数 return 之前执行,无论函数是从哪个分支 return的,包括有try catch的情况。
例如

defer {
    print("defer")
}

if sign {
    print("true")
} else {
    print("false")
}

do {
    print("do")
} catch {
    print("cetch")
}
return

相当于

if sign {
    print("true")
    print("defer")
} else {
    print("false")
    print("defer")
}

do {
    print("do")
    print("defer")
} catch {
    print("cetch")
    print("defer")
}
return

猜你喜欢

转载自blog.csdn.net/qq_25639809/article/details/85002547
今日推荐