¿Existe alguna forma de hacer esto? (GOLANG)
Me encuentro con el siguiente problema: Quiero hacer una función genérica en Go, similar a cómo se haría en C++ o Java con templates utilizando para ello el tipo genérico de Go interface{}. El problema viene cuando quiero que los parámetros de la función sean dos arrays. Un ejemplo de lo que quiero hacer es lo siguiente:
func main() {
var a []int
var b []int
c := AddArrays(a,b)
}
func AddArrays (a,b []interface{}) []interface{} {
c := a
for _, item := range b {
c = append(c, item)
}
return c
}El error que da es que no puede ser asignado un valor de tipo []int a un valor de tipo []interface{}.
Entiendo por que pasa esto, un array de interfaces no es un tipo propio sino una lista con variables de tipo interface{}, por lo que la asignación entre []int e []interface{} es imposible pero, ¿habría una forma de hacer esto?