inout
类似C#的out,只能传入变量。相当于引用传递。
guard
if a < 1 {
return
}
//等价于
guard a >= 1{
return
}
defer
func a(){
openDirectory()
defer{closeDirectory()}
openFile()
defer{closeFile()}
}
defer包含的语句不会立马执行,而是被推入栈中,直到函数结束时才再次被调用。