type ( user struct { ID uint64 Info userinfo } userinfo struct { Name string Age int })func main() { s := user{} // 创建新的类型实例 ref := reflect.New(reflect.TypeOf(s)) ref.Elem().FieldByName(`ID`).SetUint(1) ref.Elem().FieldByName(`Info`).Set(reflect.ValueOf(userinfo{ Name: `kyo`, Age: 18, })) fmt.Printf("%#v, %#v\n", s, ref.Interface()) // 直接操作反射对象 refPointer := reflect.Indirect(reflect.ValueOf(&s)) refPointer.FieldByName(`ID`).SetUint(1) refPointer.FieldByName(`Info`).Set(reflect.ValueOf(userinfo{ Name: `kyo`, Age: 18, })) fmt.Printf("%#v, %#v\n", s, refPointer.Interface())}