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.

Reply via email to