Golang:有没有办法在一行中修改其中一个多值返回参数?

时间:2017-11-03 17:39:29

标签: go

我在Go中尝试相对简单的东西 - 将字符串转换为整数然后加倍:

myInt, _ := strconv.Atoi(args[1])
doubleArg := myInt * 2

由于Atoi()返回两个参数(整数和err),我使用myInt, _ :=来检索整数的值。我想加倍它(因此第二行),但不能在一行中完成所有操作:

myInt, _ := strconv.Atoi(args[1]) * 2

给了我:

multiple-value strconv.Atoi() in single-value context

然而,根据我对大多数其他语言的经验,似乎需要在两行中执行此操作。这只是我必须处理的限制,还是有更好的方法来编写我的代码?

1 个答案:

答案 0 :(得分:1)

两行代码并不是那么多。但是如果你必须在你的代码中多次做同样的事情,你也可以编写自己的转换版本然后乘法函数。这个函数可以进行错误检查和实际工作。