我有一个必须接受对象类型的函数。然后它必须将XML解组为给定类型的对象。
使用reflect:
获取对象类型objType := reflect.TypeOf(CustomObjectType{})
UnmarshalWorker(objType)
解组功能:
func UnmarshalFeedGeneric (data []byte,objType reflect.Type) {
unm := reflect.New(objType)
err := xml.Unmarshal(data, unm.Interface())
}
' unm'总是返回零值。
fmt.Println(unm)
fmt.Println(unm.Elem())
fmt.Println(unm.Interface())
输出:
<*main.CustomObjectType Value>
<main.CustomObjectType Value>
&{ <nil> 0}