如何在 Go 中使用指针设置结构的值数组

How to set value array of struct with pointer in Go

我有一个包含指针的 Struct 数组,我想用一些数据来设置它,但是当它退出 for 循环时,值将为 return nil

这里是例子: https://go.dev/play/p/iCiHsVfJkMx

有什么方法可以return获得完整的数据,我是说有价值的

您正在 t 范围内,类型为 []DataData 不是指针类型,因此 v 将被设置为 t[0] 的副本,然后 t[1],等等

您需要通过数组索引访问结构,以便有一个完整的引用链。

https://go.dev/play/p/BqgavPfx16V

另一种解决问题的方法是使用 Data{new(UserData)} 而不是 Data{}