方法 method
方法是“绑定到某个类型上的函数”。
普通函数:
方法:
(u User) 叫接收者。
一、给结构体定义方法
调用方法:
二、值接收者
这种写法接收的是副本,修改不会影响原对象。
三、指针接收者
如果方法要修改结构体字段,用指针接收者:
完整示例:
四、什么时候用指针接收者
建议:
实际业务里,结构体方法多数使用指针接收者。
五、给自定义类型定义方法
方法不只能给结构体定义。
注意:只能给当前包里定义的类型添加方法。
不能给标准库类型直接加方法:
可以先定义自己的类型:
六、方法和函数怎么选
适合方法:
- 行为明显属于某个类型。
- 需要操作结构体内部字段。
- 希望调用方式更符合对象语义。
适合普通函数:
- 逻辑不属于某个具体类型。
- 只是工具函数。
示例:

