素胚勾勒不出你
应用程序可以使用reflect.StructOf以编程方式创建结构体,但必须导出该结构体中的所有字段。问题将结构体作为值获取,但指向该结构体的指针可能对应用程序更有用。鉴于上述情况,这个答案展示了如何在编译时不定义类型的情况下执行以下操作:type Data struct { A string `json:"a"` B int `json:"b"`}var d interface{} = &Data{}代码是:t := reflect.StructOf([]reflect.StructField{ { Name: "A", Type: reflect.TypeOf(int(0)), Tag: `json:"a"`, }, { Name: "B", Type: reflect.TypeOf(""), Tag: `json:"B"`, },})d := reflect.New(t).Interface()这是一个设置一些字段的可运行示例:https ://play.golang.org/p/uik7Ph8_BRH