guard和defer
在看swift的代码的时候,遇见两个新的关键字,语法特性很特别
guard
guard有点像断言
1 | if age < 13 { |
guard起来保证的作用,age大于13否则return
在if-let解包的时候使用,会使得代码看清来更简洁
1 | guard let name = user.name else { |
defer
defer是使代码延后处理的新特性
1 | // ... |
defer会在将代码块以入栈出栈的方式延后运行,比如上面的代码会先执行打开文件夹(openDirectory)后打开文件(openFile),在所有处理完成后,执行关闭文件(closeFile),再关闭文件夹(closeDirectory)的操作

