Golang deferred函数 Posted on 2021-08-20 deferred函数调用在大多数编程语言中,一个函数结束后便会返回到调用者的代码处,但是Go语言提供了一个关键词deferred,可以实现函数返回后先执行deferred指定的一个或几个函数,当这些deferred函数全部执行完毕后,再回到调用者的代码处。 示例:1234567891011func foo(a int) int { defer fmt.Println("defer1") if (a >= 0) { fmt.Println("a >= 0") return a } fmt.Println("a < 0") return -a}