defer func(参数){}
Posted myuniverse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了defer func(参数){}相关的知识,希望对你有一定的参考价值。
defer func(参数)
- 参考代码
func main()
fmt.Println("================打印顺序===============")
a:=1
b:=2
defer calc("1",a,calc("10",a,b))
a=0
defer calc("2",a,calc("20",a,b))
b=1
fmt.Println("a=",a,"b=",b)
func calc(index string, a,b int)int
ret := a+b
fmt.Println(index,a,b,ret)
return ret
- 输出结果
================打印顺序===============
10 1 2 3
20 0 2 2
a= 0 b= 1
2 0 2 2
1 1 3 4
- 结果分析
- defer运行特点
- 在return之后执行
- 先赋值后放入堆栈
- defer运行特点
以上是关于defer func(参数){}的主要内容,如果未能解决你的问题,请参考以下文章