首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  TanLian  ›  全部回复第 1 页 / 共 3 页
回复总数  41
1  2  3  
65 天前
回复了 frozenway 创建的主题 程序员 公司来了个年轻的程序员
:doge:
趁着编译的时间进来划划水。。。
@nekoyaki 呵呵,也许我的表达有问题吧。不过你可以参考这几篇文章,应该就能理解我说的了。
https://studygolang.com/articles/7548
https://www.golangtc.com/t/56667d4db09ecc6de0000025
https://tiancaiamao.gitbooks.io/go-internals/content/zh/03.4.html
http://blog.csdn.net/hittata/article/details/77836435
我不敢保证这几篇文章的内容有价值,仅作参考,当然你也可以忽略。
另祝君安好。
@nekoyaki 看来你对 return 不理解,golang 的 return 本来就不是一个原子语句,这样解释没毛病,并且更利于他人理解,其他不想多说。
@archliinux 公众号的每篇文章都是一个字一个字的码出来的好吗,如果你觉得某个知识点有错误,可以提出来我确定后会改。但是如果你看都没看的话就这这 BB,那么就恕不奉陪了。
@archliinux 不想和你争辩,公众号怎么你了?你牛逼怎么不见你分析,就在这喷别人
看来你对 golang 的 return 没理解,golang 和 C、C++不同,golang 的 return 不是一个原子语句,在你这个例子中,
把 return 2 分成了两步,第一步是 i=2,第二步是 return i (注意是字母 i )。但由于 defer 的特性(这个不了解的话我也无能为力了),defer 是插在这两步中间的,所以实际上的执行过程是这样的,
func testDefer() (i int) {
i = 2

func() {
fmt.Println(i)
i = 4
}()

return i
}
所以会打印 2,testDefer 函数的返回值是 4,明白?
实际上这个题主要考察的是 return 和 defer,理解了这两个知识点,就不难理解为什么输出为 2 了。
另可关注我的公众号“大后端开发”,讲解了 golang 的很多这方面的知识。
@fhefh 多谢肯定哈
想学 GO 的话可以关注我的公众号:大后端开发,里面都是我学习 GO 语言过程中的总结
139 天前
回复了 safedogcc 创建的主题 分享创造 [下一栈] 也许会重新定义你的阅读方式
已安装 Android 版,挺好用,APP 的想法也不错。我好奇的是,这个 APP 是用原生语言写的吗?还是用类似于 react native 这种技术啊?
139 天前
回复了 mmnnyycc 创建的主题 程序员 go 关键字之后,怎么不输出了?
用 channel 吧
139 天前
回复了 reid2017 创建的主题 MySQL MySQL 集群方案
MariaDB Galera
144 天前
回复了 testcount 创建的主题 程序员 2018 年想学一门编程语言,哪个好?
145 天前
回复了 YogurtTnT 创建的主题 程序员 上海深圳哪个更适合程序猿呢
上海不知道,没去过,我一直待在深圳,感觉这边挺好的
@panda001 感谢大哥帮忙说话,一起努力哈
@lsls931011 没打算跟 grpc 竞争啊,这只是玩具 demo,从名字也可以看得出来,学习交流用
已经习惯用英文字母写代码了,用中文写反而不习惯
@wweir 话还是很中肯的,感谢!
@goforalong 感谢鼓励
1  2  3  
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   552 人在线   最高记录 3541   ·  
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 38ms · UTC 20:26 · PVG 04:26 · LAX 13:26 · JFK 16:26
♥ Do have faith in what you're doing.
沪ICP备16043287号-1