发现一段代码,把函数作为参数传入,函数实现也在传参的地方,里面还有返回值。对这个返回值,是否在函数什么地方还需要用。
```
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 的值。
有疑问加站长微信联系(非本文作者)