0

假设我们有一个这样的结构:

type Data struct {
  a int
}

并且我们希望获得一个返回多个值的函数的单个返回值并将其分配给 Data 的对象,例如

data := Data {
  a: strconv.Atoi("1000")
}

上面的代码不起作用,因为 Atoi 返回两个值,一个数字和一个错误,所以我们需要以某种方式处理额外的值(错误),但在我的情况下,我不需要评估错误值并且不可能使用_关键字将其关闭。

初始化结构时如何实现这一点,我想摆脱错误返回值

4

1 回答 1

2

没有通用的方法来获取返回的参数之一(也许您可以使用reflect返回的包来实现某些东西interface{})。

除此之外,忽略错误是不好的。如果您确定没有错误,请实现这样的辅助函数:

func myAtoi(s string) int {
    i, err := strconv.Atoi(s)
    if err != nil {
        panic(err)
    }
    return i
}

data := Data {
    a: myAtoi("1000")
}
于 2018-01-07T10:50:26.967 回答