欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

[Golang]一道考察defer与命名返回值的题目

发布时间:2025/3/14 编程问答 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [Golang]一道考察defer与命名返回值的题目 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题目

输出:
4
1
3

解释

  • 当函数有可命名结果形参时,结果形参的初始值被设置为零值,函数的return语句会设置结果形参的值
  • 当函数有可命名结果形参时,defer函数是可以修改它,然后再将它的值返回
  • DeferFunc1 和DeferFunc3是两个有命名结果形参的函数,结果形参的赋值过程为:
    DeferFunc1 :
    t:= 0
    t = 1
    t +=3 -> t = 4

    DeferFunc3:
    t:=0
    t = 2
    t += 1 -> t = 3

    DeferFunc2 函数没有可命名结果形参,t只是个普通局部变量,defer无法对返回值做修改。返回1.

    转载于:https://www.cnblogs.com/QG-whz/p/7656400.html

    与50位技术专家面对面20年技术见证,附赠技术全景图

    总结

    以上是生活随笔为你收集整理的[Golang]一道考察defer与命名返回值的题目的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。