package main import "fmt" func main() { fmt.Println("main 1") defer fmt.Println("main 2") foo() defer fmt.Println("main 3") fmt.Println("main 4") } func foo() { fmt.Println("foo 1") defer fmt.Println("foo 2") fmt.Println("foo 3") defer fmt.Println("foo 4") }