1

これを考えると:

var v reflect.Value = ...

v.Type() // *model.Company

新しい model.Company をインスタンス化し、そのフィールドをリフレクションで変更する方法は?

4

1 に答える 1

0

次のようなもの:

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."}

プレイグラウンドでの作業バージョン:

于 2013-09-02T16:51:46.113 に答える