package main
import "fmt"
func func1(){
fmt.Println("A")
}
func func2(){
fmt.Println("B")
}
func func3(){
fmt.Println("C")
}
func main() {
//先进后出
defer func1()
defer func2()
defer func3()
}
/*
C
B
A
*/
package main
import "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()
}