我有这个函数声明,我想返回接口数组。
spread(1,2,3)=> [4,5,6]。
我还搜索了play.golang
,other stackoverflow go tags
之类的任何地方,但没有找到
func spread2(a ...interface{}) []interface{} {
a:=[]int{4,5,6}
return []interface{}{a}//[[4,5,6]] NO
return []interface{}{a...} //[4,5,6] YES,i want this;
//but got error
}
我得到的错误是:
syntax error: unexpected ..., expecting comma or }
答案 0 :(得分:1)
例如,
package main
import (
"fmt"
)
func spread(a ...interface{}) []interface{} {
return a
}
func main() {
fmt.Println(spread(1, 2, 3))
}
游乐场:https://play.golang.org/p/Bqgu_A1BCti
输出:
[1 2 3]
优化的编译器可以内联spread
函数。
答案 1 :(得分:0)
在我的情况下,[]interface{}
输入与输出相同。
所以只要返回任何东西就可以了