题目
输出:
4 1 3解释
- 当函数有可命名结果形参时,结果形参的初始值被设置为零值,函数的return语句会设置结果形参的值
- 当函数有可命名结果形参时,defer函数是可以修改它,然后再将它的值返回
DeferFunc1 和DeferFunc3是两个有命名结果形参的函数,结果形参的赋值过程为:
DeferFunc1 : t:= 0 t = 1 t +=3 -> t = 4DeferFunc3:
t:=0 t = 2 t += 1 -> t = 3DeferFunc2 函数没有可命名结果形参,t只是个普通局部变量,defer无法对返回值做修改。返回1.