golang defer执行顺序

作者: adm 分类: go 发布时间: 2022-08-18

defer函数的执行顺序是先进后出,和栈一样,return 最后执行,当出现panic的时候,就会按照先进后出的顺序执行defer函数,最后才执行panic,return 不再执行。合理利用defer函数可以避免程序异常退出,保证程序的健壮性。

func main() {
	fmt.Println(ddd())
}

func ddd() string {

	defer fmt.Println("999")
	defer ccc()
	return "ddd"
}

func ccc() string {
	fmt.Println("ccc")
	return ""
}
ccc
999
ddd

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!