Pointers 无法通过结构方法替换指针

Pointers 无法通过结构方法替换指针,pointers,go,slice,Pointers,Go,Slice,获取了一个返回指针的结构方法: func (d *DataMap) Get(p Coord) *CellData { return &d.Data[p.X+(p.Y*d.Size)] } 数据是CellData的数组,它是一个包含多个字段的结构。使用此方法,我可以修改每个字段的内部值,即: example.Get(p).Something = 123 但我不能这样做: example.Get(p) = *yada (yada is a *CellData) 我想用另一个指针

获取了一个返回指针的结构方法:

func (d *DataMap) Get(p Coord) *CellData {
    return &d.Data[p.X+(p.Y*d.Size)]
}
数据是CellData的数组,它是一个包含多个字段的结构。使用此方法,我可以修改每个字段的内部值,即:

example.Get(p).Something = 123
但我不能这样做:

example.Get(p) = *yada (yada is a *CellData)
我想用另一个指针替换该指针:

cannot assign to example.Get(p)(undefined)
我做错了什么?函数的输出已定义,不知道为什么会出现错误。现在我通过直接访问阵列解决了这个问题


谢谢。

Get
返回一个指针,因此如果要将该指针指向的内容存储到其中,则需要在开头添加一个
*
(指针取消引用):

*(example.Get(p)) = *yada

啊,试过了,但是没有外括号。谢谢!不知道为什么我的问题被否决了。