6
Vorrei sapere se è possibile assegnare una struttura da un tipo specificato da un puntatore nil
utilizzando reflect.New()
Creare una nuova struct con riflettere dal tipo definito da un puntatore nullo
type SomeType struct{
A int
}
sometype := (*SomeType)(nil)
v := reflect.valueOf(sometype)
// I would like to allocate a new struct based on the type defined by the pointer
// newA := reflect.New(...)
//
newA.A = 3
Come devo fare Questo ?
È l'unica possibilità? C'è un modo senza usare il pacchetto non sicuro? – yageek
Per evitare di dover utilizzare il pacchetto 'unsafe', è necessario utilizzare il metodo' reflect.Indirect'. One-liner: 'reflect.Indirect (reflect.New (reflect.TypeOf (sometype) .Elem())). Interface(). (SomeType)' – Elwinar
@Elwinar Neat. Modificherò la risposta per includere la tua versione. –