延迟执行语句defer
Go语言的defer语句会将其后面跟随的语句进行延迟处理。在defer归属的函数即将返回时,将延迟处理的语句按defer的逆序进行执行,也就是说,先被defer的语句最后被执行,最后被defer的语句,最先被执行。
这有点压栈,后进先出的感觉了
package main
import "fmt"
//执行结果 a d c b
func main() {
fmt.Println("a")
defer fmt.Println("b")
defer fmt.Println("c")
fmt.Println("d")
}
最后更新于