【发布时间】:2016-07-01 09:31:04
【问题描述】:
我正在尝试在 Go 中初始化一个结构,如果遇到使用 strconv.Atoi("val") 从字符串转换的字符串,我的值之一是返回一个 int 和一个错误。
我的问题是:有没有办法在 Golang 中忽略错误返回值?
ts := &student{
name: td[0],
ssn: td[2],
next: students.next,
age: strconv.Atoi(td[1]),
}
这给出了错误
multiple-value strconv.Atoi() in single-value context
如果我添加了我不想包含在我的结构中的错误,我会得到一个错误,我正在使用结构中未定义的方法。
【问题讨论】:
-
是的,我看过了,看起来他们没有使用复合文字初始化。
-
是的,它没有在复合文字中使用,但这并没有改变他们想要实现相同目标的事实:丢弃返回的第二个值(错误)。请也阅读答案,其中建议使用
MustXXX()辅助函数来做到这一点。 -
那么就没有办法在一行中做到吗?
-
没有。此答案中列出了您的选项:Return map like 'ok' in golang on normal functions。 (实际上你也可以在一行中完成,但这会更丑陋 - 有关技术,请参阅 this answer。)
-
很遗憾,但没有办法一口气做到。
标签: go