go defer的执行顺序
Go语言中的defer
关键字用于在函数执行完成之前延迟执行一个函数或表达式。如果有多个defer
语句,它们将按照倒序执行,也就是说,最后一个defer
语句会最先执行。例如:
// 定义一个函数
func myFunction() {
// 延迟执行的函数或表达式
defer fmt.Println("World!")
defer fmt.Println("Hello")
// 函数主体
// ...
}
在上面的代码中,调用myFunction()
时,会先执行函数主体,然后再执行两个defer
语句。它们的执行顺序是先执行第二个语句,然后再执行第一个语句。这意味着,上面的代码会输出:
Hello
World!
总之,defer
语句的执行顺序是倒序的,最后一个defer
语句会最先执行。
Copyright © 2022-2023, Koudai Team