package mainimport "fmt"func func1(){fmt.Println("A")}func func2(){fmt.Println("B")}func func3(){fmt.Println("C")}func main() {//先进后出defer func1()defer func2()defer func3()}/*CBA*/
package mainimport "fmt"func deferFunc() int {fmt.Println("defer...")return 0}func returnFunc() int {fmt.Println("return")return 0}func returnAndDefer() int {defer deferFunc()return returnFunc()}func main() {//return之后的语句先执行//defer后的语句后执行returnAndDefer()}
