GO 有点疑问

tianjiao85 · · 729 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

发现一段代码,把函数作为参数传入,函数实现也在传参的地方,里面还有返回值。对这个返回值,是否在函数什么地方还需要用。 ``` func (e *earlyResult) PostAccept(sess tp.PreSession) *tp.Rerror { `var rigthUri bool` input, rerr := sess.Receive(func(header socket.Header) interface{} { if header.Uri() == "/early/ping" { rigthUri = true return new(map[string]string) } return nil }) if rerr != nil { return rerr } var result string if !rigthUri { rerr = tp.NewRerror(10005, "unexpected request", "") } else { body := *input.Body().(*map[string]string) if body["author"] != "henrylee2cn" { rerr = tp.NewRerror(10005, "incorrect author", body["author"]) } else { rerr = nil result = "OK" } } return sess.Send( "/early/pong", result, rerr, ) } ``` 第 6 个行,返回 `return new(map[string]string)`。是否在后面的代码有调用, 跟 `body := *input.Body().(*map[string]string)` ,这个地方有没有关系。 如果没关系,是不是可以不用关心这个作为参数的的函数的返回值。 是否 这个参数函数的目的就是为了 判断 rigthUri 的值。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

729 次点击  
加入收藏 微博
1 回复  |  直到 2018-09-13 15:26:56
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传