如何在golang中使用reflect.New()创建对象的指针

时间:2015-04-02 19:11:15

标签: pointers go

我有一个必须接受对象类型的函数。然后它必须将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}

0 个答案:

没有答案