¿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?

Añade tu respuesta

Haz clic para o