If I have:
type foo struct{
}
func bar(baz interface{}) {
}
The above are set in stone - I can\'t change foo or bar. Additionally,
Not fully-related, but I googled the question "convert interface struct to pointer" and get here.
So, just make a note: to convert an interface of T
to interface of *T
:
//
// Return a pointer to the supplied struct via interface{}
//
func to_struct_ptr(obj interface{}) interface{} {
vp := reflect.New(reflect.TypeOf(obj))
vp.Elem().Set(reflect.ValueOf(obj))
return vp.Interface()
}