Go语言存在一种延迟执行的语句,有关键字defer标识,语法如下:
defer 任意语句
任意语句表示Go程序中的任何执行语句
以下是示例代码:
package main
import "fmt"
func main() {
defer fmt.Println("这是最后执行的语句")
fmt.Println("这是第一个执行的语句")
fmt.Println("这是第二个执行的语句")
}
运行结果
这是第一个执行的语句
这是第二个执行的语句
这是最后执行的语句
defer关键字会将其后面跟随的语句进行延迟处理,defer归属的函数即将返回时,将延迟处理的语句按defer出现的顺序逆序执行