Go 如何理解函数中定义的指针
我不理解下面的函数定义。在这个函数定义中,u*单位是什么意思?我认为这不是返回值,在围棋教程中找不到答案Go 如何理解函数中定义的指针,go,Go,我不理解下面的函数定义。在这个函数定义中,u*单位是什么意思?我认为这不是返回值,在围棋教程中找不到答案 func (u *Unit) processImage(){ .... } 在func u*Unit processImage函数中,u*Unit是参数/输入,也是接收器,它取决于processImage中包含的内容。 例如: func (u *Unit) processImage() { u.sum = u.x + u.y } 在这种情况下,processImage使用结构单元的
func (u *Unit) processImage(){
....
}
在func u*Unit processImage函数中,u*Unit是参数/输入,也是接收器,它取决于processImage中包含的内容。 例如:
func (u *Unit) processImage() {
u.sum = u.x + u.y
}
在这种情况下,processImage使用结构单元的x和y字段的值作为参数/输入来更新sum值,然后返回u和sum的新值。
带有u*单位的方法称为指针接收器
下面使用u单位的方法称为值接收器:
func (u Unit) processImage() int {
return u.x + u.y
}
在值接收器中,u包含参数/输入值,它不是接收器。它是方法的接收器。processImage是为类型单位定义的方法。对于Unit类型的变量u,可以调用u.processImage。processImage获得指向u的指针。有关Go语法的简单问题,请访问上面的Go链接。我不确定您希望得到的答案是什么,但如果您想知道值接收器与指针接收器之间的差异,您可以参考:感谢所有人回答此问题。它真的帮助我学习围棋语言。