首页   注册   登录
 TanLian 最近的时间轴更新

TanLian

V2EX 第 191615 号会员,加入于 2016-09-13 16:07:23 +08:00
今日活跃度排名 19654
使用 Golang 实现了一个轻量级的 RPC, V 友们给点意见?
  •  1   
    程序员  •  TanLian  •  355 天前  •  最后回复来自 a132811
    18
    从技术的角度写了一篇介绍区块链的文章
    区块链  •  TanLian  •  2018-01-15 09:18:19 AM  •  最后回复来自 TanLian
    11
    TanLian 最近回复了
    38 天前
    回复了 a463640216 创建的主题 分享创造 一个日记本小程序
    楼主是要做一个日记社区吗?
    272 天前
    回复了 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 的很多这方面的知识。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   978 人在线   最高记录 4236   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.2 · 18ms · UTC 19:03 · PVG 03:03 · LAX 11:03 · JFK 14:03
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1