登录
首页 >  Golang >  Go问答

理解函数中指针的定义方式

来源:stackoverflow

时间:2024-03-28 20:03:30 238浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《理解函数中指针的定义方式》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

我不明白以下函数定义。这个函数定义中的 u *unit 是什么意思?我认为不是返回值,在go教程中找不到答案。

func (u *Unit) processImage(){

 ....
}

解决方案


在“func (u *unit) processimage()”函数中,“u *unit”是参数/输入,也是接收者,它取决于processimage()中包含的内容。 例如:

func (u *unit) processimage() {
 u.sum = u.x + u.y
}

在本例中,processimage() 使用结构体“unit”的 x 和 y 字段的值作为参数/输入来更新“sum”的值,然后返回 u(具有新的 sum 值)。 带有 (u *unit) 的方法称为指针接收器。

像下面这样带有 (u unit) 的方法被称为值接收器:

func (u Unit) processImage() int {
   return u.x + u.y
}

在值接收器中,u 包含参数/输入值,它不是接收器。

终于介绍完啦!小伙伴们,这篇关于《理解函数中指针的定义方式》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>