这是我遇到的问题的示例:
package main
import "fmt"
func foo(a int, b ...int) {
fmt.Println(a,b)
}
func main() {
a := 0
aa := 1
b := []int{2,3,4}
foo(a, aa, b...)
}
当我运行它时,我收到错误too many arguments in call to foo。我想我可以理解为什么会发生这种情况,但我不清楚的是如何绕过它而不必b在开始时使用额外的插槽制作副本aa(我宁愿不这样做,因为此代码会经常运行b并且有点长)。
所以我的问题是:我只是做错了吗?如果不是,那么做我想做的事情的最有效方法是什么?
(另外,我无法更改 的签名foo)。
DIEA
慕桂英3389331
相关分类