有多个defer时,return后先运行最后定义的defer,后进先出,栈的运行顺序
package main
import "fmt"
import "log"
func main(){
defer func() {
fmt.Println("-------")
}()
defer func() {
if err := recover(); nil != err {
fmt.Println("=======")
}
}()
foo()
defer func() {
fmt.Println("++++++++")
package main
import "fmt"
import "log"
func main(){
defer func() {
fmt.Println("-------")
}()
defer func() {
if err := recover(); nil != err {
fmt.Println("=======")
}
}()
foo()
defer func() {
fmt.Println("++++++++")