博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Golang]一道考察defer与命名返回值的题目
阅读量:6256 次
发布时间:2019-06-22

本文共 282 字,大约阅读时间需要 1 分钟。

题目

610439-20171012153908387-1749926321.png

输出:

4
1
3

解释

  1. 当函数有可命名结果形参时,结果形参的初始值被设置为零值,函数的return语句会设置结果形参的值

610439-20171012154135246-1556184304.png

  1. 当函数有可命名结果形参时,defer函数是可以修改它,然后再将它的值返回

610439-20171012154139809-35900390.png

DeferFunc1 和DeferFunc3是两个有命名结果形参的函数,结果形参的赋值过程为:

DeferFunc1 :
t:= 0
t = 1
t +=3 -> t = 4

DeferFunc3:

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

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

转载地址:http://retsa.baihongyu.com/

你可能感兴趣的文章
Mongodb程序开发之使用JAVA驱动
查看>>
Java操作XML文件
查看>>
我的友情链接
查看>>
Spring字符集过滤器CharacterEncodingFilter
查看>>
python脚本批量更改ESXI主机名,DNS
查看>>
npm安装rabbit.js
查看>>
Azkaban简介
查看>>
SimpleFolderEncrypt 使用帮助
查看>>
我的网管生活
查看>>
关于mysql官网下载不了Linux版本的问题
查看>>
可爱行销力量大:可爱的冰淇淋勺会让消费者想一直挖、一直挖
查看>>
Windows 2008 IIS7.0安装FTP教程
查看>>
jQuery--(6)遍历
查看>>
zabbix使用记录——监控windows进程
查看>>
我的友情链接
查看>>
智能指针
查看>>
DevExpress v17.2新版亮点——VCL篇(二)
查看>>
MyBatis学习总结(六)——调用存储过程
查看>>
UIKit动力学(一)
查看>>
Oracle 11g R2 视图
查看>>