package main
import (
"fmt"
"reflect"
)
type A struct {
D *int
}
func main() {
a := &A{}
v := reflect.ValueOf(a)
e := v.Elem()
f := e.Field(0)
z := reflect.Zero(f.Type().Elem())
f.Set(z)
fmt.Println(z)
}
パニック:reflect.Set:int型の値は、型に代入できません*値の使用をデフォルトに* Dを設定する方法リフレクションを使用して、構造体ポインタフィールドの値をどのように初期化しますか?
をint型
'D 'は' nil'を開始し、ポインタ、ですしてみてください。それはどこにも指さないので、「* Dを設定する」のは意味がありません – newacct