I should learn to read the questions more carefully before answering -_- In the code you commented out, fd.Type() is a pointer type, so the zero value of a pointer type is a nil pointer. If you do fd.Type().Elem() it gives you the "dereferenced" type of the value. So, maybe you want: v = reflect.Zero(fd.Type().Elem()).Interface()
On Monday, September 5, 2016 at 7:28:13 PM UTC+2, dc0d wrote: > > How can I fill a pointer to point to the zero value of underlying type? > > Like in: > > if fd.Kind() == reflect.Ptr { > if fd.IsNil() { > // how to set v (pointer) to point to a zero value of underlying type? > // using this: > // v = reflect.Zero(fd.Type()).Interface() > // still gives a nil value. > } else { > v = fd.Interface() > } > } > > > > I want to fill v with the zero value of the underlying direct type. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.