测试代码1
func TestDefer(t *testing.T) {
fmt.Println("a")
defer fmt.Println("b")
defer c()
defer d()
fmt.Println("f")
}
func c() {
本文探讨了Golang中defer函数的执行特点,通过测试代码展示defer函数在函数结束时按后进先出原则执行。同时,当defer调用带返回值的方法时,方法体立即执行,返回的函数在主函数结束后按顺序执行,这种特性可用于实现如记录函数执行时间等场景。
测试代码1
func TestDefer(t *testing.T) {
fmt.Println("a")
defer fmt.Println("b")
defer c()
defer d()
fmt.Println("f")
}
func c() {
1600
1121

被折叠的 条评论
为什么被折叠?