有多个defer时,return后先运行最后定义的defer,后进先出,栈的运行顺序
package main
import "fmt"
import "log"
func main(){
defer func() {
("-------")
}()
defer func() {
if err := recover(); nil != err {
("=======")
}
}()
foo()
defer func() {
("++++++++")
}()
}
func foo(){
("111")
("A")
("222")
}
output:
111
2017/05/04 16:18:53 A
=======
-------
recover()的结果只能被调用一次