golang defer的执行顺序是什么
在Go语言中,defer
语句用于注册延迟调用,延迟调用会在函数执行完毕后被执行,无论函数是正常返回还是发生异常。
当有多个defer
语句时,它们的执行顺序是逆序的,即最后注册的defer
语句会最先执行,最先注册的defer
语句会最后执行。
下面是一个示例:
package main
import "fmt"
func main() {
defer fmt.Println("defer 1")
defer fmt.Println("defer 2")
defer fmt.Println("defer 3")
fmt.Println("main")
}
输出结果为:
main
defer 3
defer 2
defer 1
可以看到,main
函数中的代码首先执行,然后依次执行了三个defer
语句,按照逆序的顺序执行输出。
版权声明
本文仅代表作者观点,不代表米安网络立场。
上一篇:使用美国网站服务器卡顿怎么解决 下一篇:免费云服务器租用如何选择供应商
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。