title: How to cast a reflect.Value by its type when created by reflect.New
body: <p>I'm actually trying some black magic using reflection in golang :P</p>
  
  <p>I got something like this :</p>
  
  <pre><code>  var _int int
    var _int32 int32
    var _int64 int64
    var _string string
  
      var nilablesIndex map[int]reflect.Value
      var nilables = map[string]reflect.Type {
             "int32":     reflect.TypeOf(_int32)},
             "int64":     reflect.TypeOf(_int64)},
             "int":       reflect.TypeOf(_int)},
             "string":    reflect.TypeOf(_string)},
          }
  nilablesIndex[len(m) - 1] = reflect.New(nilables[field.Type.String()][1])
  </code></pre>
  
  <p>To summarize, I have at this moment a reflect.Value created by <code>reflect.New(nilables[field.Type.String()][1])</code></p>
  
  <p>That I want is to cast this variable by its original type.</p>
  
  <p>Example : If <code>nilablesIndex[0]</code> is a <code>reflect.Type int32</code>, I want to cast it to type <code>int32</code>.</p>
  
  <p>Is it possible ? </p>
  
  <p>Thank you :)</p>