鉴于这种 :

var v reflect.Value = ...

v.Type() // *model.Company

如何实例化一个新模型。Company并使用反射修改它的字段?

最佳答案

类似于以下内容:

v := reflect.ValueOf(&Company{})
t := v.Type()
c := reflect.New(t.Elem()).Elem()
c.FieldByName("Name").SetString("Reflection Inc.")
fmt.Printf("%#v\n", c.Interface())
// => main.Company{Name:"Reflection Inc."}

操场上的工作版本:
  • http://play.golang.org/p/YOs27t1vtA
  • 关于reflection - 通过反射使类型指向指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18576937/

    10-10 11:49