sep*_*oad 1 go object-initialization multiple-return-values
假设我们有一个这样的结构:
type Data struct {
a int
}
Run Code Online (Sandbox Code Playgroud)
我们想要获取返回多个值的函数的单个返回值并将其分配给 Data 对象,例如
data := Data {
a: strconv.Atoi("1000")
}
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用,因为 Atoi 返回两个值,一个数字和一个错误,所以我们需要以某种方式处理额外的值(错误),但就我而言,我不需要评估错误值,并且不可能使用_关键字将其关闭。
在初始化结构时如何实现这一点,我想摆脱错误返回值
没有通用的方法可以仅获取返回的参数之一(也许您可以使用reflectreturns 的包来实现一些东西interface{})。
除此之外,忽略错误是不好的。如果您确定没有错误,请实现如下所示的辅助函数:
func myAtoi(s string) int {
i, err := strconv.Atoi(s)
if err != nil {
panic(err)
}
return i
}
data := Data {
a: myAtoi("1000")
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3365 次 |
| 最近记录: |