为了账号安全,请及时绑定邮箱和手机立即绑定

单值上下文中的多个值

单值上下文中的多个值

Go
白衣非少年 2019-07-13 15:13:24
由于Go中的错误处理,我通常会得到多个值函数。到目前为止,我处理这个问题的方式非常混乱,我正在寻找编写更干净代码的最佳实践。假设我有以下功能:type Item struct {    Value int    Name string}func Get(value int) (Item, error) {   // some code   return item, nil}如何将新变量赋值给item.Value优雅。在介绍错误处理之前,我的函数刚刚返回item我可以这么做:val := Get(1).Value现在我这样做:item, _ := Get(1)val := item.Value难道没有一种直接访问第一个返回变量的方法吗?
查看完整描述

3 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

不,但这是一件好事,因为你应该永远处理你的错误。

有些技术可以用来推迟错误处理,请参阅错误是值罗布·派克。

ew := &errWriter{w: fd}ew.write(p0[a:b])ew.write(p1[c:d])ew.write(p2[e:f])// and so onif ew.err != nil {
    return ew.err}

在这个例子中,他从博客文章中说明了如何创建一个errWriter将错误处理推迟到调用结束为止的类型。write.


查看完整回答
反对 回复 2019-07-13
  • 3 回答
  • 0 关注
  • 582 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信