Можно ли динамически приводить значение, сгенерированное функциейlect.Zero/New, обратно к произвольному типу?Насколько я понимаю, это в значительной степени ограничивает использование отражения, поскольку вам всегда нужно знать тип, с которым вы работаете.
Вот пример того, что я имею в виду:
package main
import (
"fmt"
"reflect"
)
type A struct {
Name string
}
func main() {
a := &A{Name: "Dave"}
fmt.Println(a)
//create a nil pointer of an arbitrary type
dynamicType := reflect.TypeOf(a)
dynamicNil := reflect.Zero(dynamicType).Interface()
a = dynamicNil //is it possible to do this without explicitly casting to A (ie. avoiding `a = dynamicNil.(*A)`)
fmt.Println(a)
}