17_defer(延迟调用)关键字的使用
Posted zhaopp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了17_defer(延迟调用)关键字的使用相关的知识,希望对你有一定的参考价值。
1、defer是延迟调用关键字,只能在函数内部使用
2、总是在main函数结束前调用(和init用法相对)
3、如果有多个defer 遵循先进后出的原则
4、和匿名函数同时使用时,如果匿名函数带有参数,则先把参数传进去,最后调用
例如:
package main
import "fmt"
func Test()
defer fmt.Println("111111") //最后执行
defer fmt.Println("222222") //其次
defer fmt.Priiota_test.gontln("333333") //最先执行这个
func main()
a := 1
b := 2
defer fmt.Println(a, b) //1,2 先把参数传进去,然后执行后面的程序,最后在main函数结束前执行这个
defer func(a, b int)
fmt.Printf("a1=%d,b1=%d\\n", a, b)
(a, b) //先把参数传进去,最后按顺序执行defer语句
a = 4
b = 6
fmt.Println("a=", a, "b=", b)
Test()
运行结果:
以上是关于17_defer(延迟调用)关键字的使用的主要内容,如果未能解决你的问题,请参考以下文章