前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Golang]一道考察defer与命名返回值的题目

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

作者头像
Tencent JCoder
发布2018-07-02 16:12:59
5440
发布2018-07-02 16:12:59
举报
文章被收录于专栏:我的技术专栏

题目

输出: 4 1 3

解释

  1. 当函数有可命名结果形参时,结果形参的初始值被设置为零值,函数的return语句会设置结果形参的值
  1. 当函数有可命名结果形参时,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.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-10-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 解释
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档