// Demographics structure
package main
import "fmt"
type Demographics struct {
Race *UnionNullArrayRace
}
type UnionNullArrayRace struct {
ArrayRace []*Race
}
type Race struct {
Code *UnionNullString
}
type UnionNullString struct {
String string
}
demographics := &model.Demographics{}
// Above Works Properly to append the raceArrayData
raceArrayData := &model.Race{}
demographics.Race.ArrayRace = append(demographics.Race.ArrayRace, raceArrayData)
//************************************************************************************
//* Error: Can't use demographics.Race.ArrayRace (type[]*Race) as type []*interface{}
//************************************************************************************
testArray(demographics.Race.ArrayRace, raceArrayData)
//Below is the generic function due to submission issue in editor issues with SOF
func testArray(canonicalLocation []*interface{}, canonicalArray interface{}) {
canonicalLocation =
append(canonicalLocation, &canonicalArray)
}
В Go есть ли способ создать универсальную функцию для добавления элемента массива путем передачи массива указателей на определенный тип, как в примере выше?
Прямо сейчас я 'm получает ошибку Can't use demographics.Race.ArrayRace (type[]*Race) as type []*interface{}
Если нет, какой будет синтаксис для использования отражения, добавляемого для приведенного выше примера?