i have this function declaration and i want return array of interface.
spread(1,2,3) => [4,5,6].
i also searched any place like play.golang
,other stackoverflow go tags
but nothing found
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
}
the error i got is : syntax error: unexpected ..., expecting comma or }
in my case []interface{}
input is same as output.
so just return any thing as array is ok
For example,
package main
import (
"fmt"
)
func spread(a ...interface{}) []interface{} {
return a
}
func main() {
fmt.Println(spread(1, 2, 3))
}
Playground: https://play.golang.org/p/Bqgu_A1BCti
Output:
[1 2 3]
An optimizing compiler may inline the spread
function.