go defer

释议:Defer 被用来确保一个函数调用在程序执行结束前执行。同样用来执行一些清理工作。

示例一:

func main() {
   for i:=0 ;i<5;i++{
      defer fmt.Printf("%d",i)
      fmt.Println("val"+i)
  }
  fmt.Println("main end")
}

运行结果

val 0
val 1
val 2
val 3
val 4
main end
43210

示例二:

func main(){
    defer b(a())
    fmt.Println("end")
}
func a() string {
	return "abc"
}

func b(arg string) {
	fmt.Println("run func " + arg)
}

运行结果

end
run func abc

猜你喜欢

转载自blog.csdn.net/cs380637384/article/details/81364737