I am trying to create a slice from a reflect.Type. This is what I have so far.
package main
import (
"fmt"
"reflect"
)
type TestStruct struct {
TestStr string
}
func main() {
elemType := reflect.TypeOf(TestStruct{})
elemSlice := reflect.New(reflect.SliceOf(elemType)).Interface()
elemSlice = append(elemSlice, TestStruct{"Testing"})
fmt.Printf("%+v\n", elemSlice)
}
However I get the following error and I'm not sure how to get around it without hardcoding a conversion to []TestStruct
.
prog.go:17: first argument to append must be slice; have interface {}
Is there anyway to treat the returned interface as a slice without having to hardcode the conversion from interface{}
to []TestStruct
?
Aucun commentaire:
Enregistrer un commentaire