我该怎么做?我想要一个函数返回一个与其参数类型相同的变量。我需要类似下面的内容:
type Whatever struct {
Title string
}
hey:= Whatever{Title:"YAY"}
thetype := reflect.ValueOf(hey).Kind()
// This does not work
BB:= new(thetype)
答案 0 :(得分:2)
如果您想从reflect.Type
创建新值,可以使用reflect.New
执行此操作:
thetype := reflect.TypeOf(hey)
BB:= reflect.New(thetype)
这会返回reflect.Value
然后,您可以使用.Interface()
并键入断言以返回原始类型。
Go操场上的示例:https://play.golang.org/p/rL-Hm0IUpd