defer 延时
1 是延迟到return 之前.
2 如果不写return最后默认都有一个return
package main
import "fmt"
func main() {
fmt.Println("开门")
defer fmt.Println("关门")
fmt.Println("开灯")
defer fmt.Println("关灯")
fmt.Println("上课")
}
package main
import "fmt"
func main() {
defer fmt.Println("疑是银河落九天")
fmt.Println("日照香炉生紫烟")
fmt.Println("要看瀑布挂前川")
fmt.Println("飞流直下三千尺")
}
package main
import "fmt"
func last() {
fmt.Println("飞流直下三千尺")
fmt.Println("疑是银河落九天")
}
func main() {
defer last()
fmt.Println("日照香炉生紫烟")
fmt.Println("要看瀑布挂前川")
}
package main
import "fmt"
func main() {
defer func() {
fmt.Println("飞流直下三千尺")
fmt.Println("疑是银河落九天")
}()
fmt.Println("日照香炉生紫烟")
fmt.Println("要看瀑布挂前川")
}