Menu
CoddyTech

选择接收者

本课属于 Coddy GO 学习旅程的“逻辑与流程”单元。第 9 课,共 68 课。

现在你已经了解了值接收者和指针接收者,关键问题是:什么时候该使用它们?这取决于你的方法需要对接收者做什么。

当方法需要修改原始结构体时,请使用指针接收者。指针接收者直接作用于结构体实例,因此在方法内部所做的任何更改都会在方法返回后保留。对于更新字段、改变状态或执行需要影响原始数据的操作的方法来说,这一点至关重要。

当方法只需要读取结构体中的数据而不需要修改数据时,请使用值接收者。值接收者使用副本,因此非常适合用于计算值、格式化输出,或执行任何不需要修改原始结构体的操作。它们还能确保原始数据保持不变,从而提供安全性。

一般来说,如果你的方法会修改结构体,就使用指针接收者。如果你的方法只读取结构体,就使用值接收者。这样可以让代码意图更清晰,也有助于避免意外修改数据。

亲手试试

这节课没有代码挑战。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Go 在线编译器