- 使用场景?
在函数结束之后执行,一般用于资源释放 - 如何使用?
func operateOnFile(descriptor: Int32) {
let fileHandle = FileHandle(fileDescriptor: descriptor)
defer { fileHandle.closeFile() }
...
}
func printStringNumbers() {
defer { print("1") }
defer { print("2") }
defer { print("3") }
print("4")
}
// Prints 4, 3, 2, 1 入栈的形式,先进后出
- 限制条件
枷锁的话,可能会死锁
网友评论