方法
# 方法
方法是带接收者的函数。需要修改对象或避免复制较大值时使用指针接收者;只读取小型值时可使用值接收者。
func (s *Service) Disable() {
s.Enabled = false
}
func (s Service) Label() string {
return s.Name + " <" + s.URL + ">"
}
1
2
3
4
5
6
7
2
3
4
5
6
7
类型 T 的方法集只包含值接收者方法,*T 的方法集包含值接收者和指针接收者方法,这会影响接口实现。一个类型的方法接收者风格应尽量一致,包含锁的类型必须通过指针使用。