单值上下文中的多个值

由于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

难道没有一种直接访问第一个返回变量的方法吗?


白衣非少年
浏览 583回答 3
3回答

肥皂起泡泡

不,但这是一件好事,因为你应该永远处理你的错误。有些技术可以用来推迟错误处理,请参阅错误是值罗布·派克。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.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go