关于Golang中匿名函数返回值的问题?
我在一个函数中调用的其他函数,其他函数中包含了一个匿名函数,我想直接在匿名函数中返回err,不知道该怎么实现,希望大佬能指点一下,谢谢!
func (client *ClientLoginModel) register() error {
if len(client.ID) == 0 {
log.InfoW("client register", "clientModel", client)
client.GetInfo()
api.RegisterClient(*client, func(json *ResponseJson){
err := mapstructure.Decode(json.Data, client)
if err != nil {
log.ErrorW("client info parse error", "err", err)
return err (我想把这个err返回到register中)
} else {
log.InfoW("client register success", "id", client.ID)
log.InfoW("write config")
configMaps := make(map[string]interface{})
configMaps["id"] = client.ID
configMaps["userID"] = client.UserID
err := base.SetConfigs(configMaps)
if err != nil {
log.ErrorW("write config error", "err", err)
return
}
}
}, func(json *ResponseJson) {
// 失败
log.ErrorW("client register error", "err", json)
return
})
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你这代码怎么写得更js一样,看着头大。。。