版权声明:本文为博主原创文章,未经博主允许不得转载。 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