0
点赞
收藏
分享

微信扫一扫

go 多个defer调用

野见 2022-07-27 阅读 58
编程语言

package main

import "fmt"
//结论:在链式调用中,所有defer 会被放到最后执行。第一个调用的defer语句,最后一个执行
func a(){
defer func() {
fmt.Println("defer a")
}()
fmt.Println("a")
b()
}
func b() {
defer func() {
fmt.Println("defer b")
}()
fmt.Println("b")
c()
}
func c() {
fmt.Println("c")
defer func() {
fmt.Println("defer c")
}()
}
func main(){
a()
/*
输出:
a
b
c
defer c
defer b
defer a

*/
}

  



举报

相关推荐

0 条评论