反射:在ptr值上调用reflect.Value.FieldByName

反射:在ptr值上调用reflect.Value.FieldByName,第1张

反射:在ptr值上调用reflect.Value.FieldByName

您已经注意到,

family
*Family
。正如错误所言,您不能在该值是指针
.FieldByName(...)
reflect.Value
地方调用。

相反,您需要间接指针,以获取其指向的值,然后对其进行调用

.FieldByName(...)

familyPtr := v.FieldByName("family")v = reflect.Indirect(familyPtr).FieldByName("last")

参阅有关间接文档:https://golang.org/pkg/reflect/#Indirect



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5016082.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-14

发表评论

登录后才能评论

评论列表(0条)

    保存