“Effective Go”文档说明如下。关于接收者的指针与值的规则是值方法可以在指针和值上调用,但指针方法只能在指针上调用。http://tip.golang.org/doc/effective_go.html#pointers_vs_values因此,如果我定义一个如下所示的方法,它不是不能用值调用吗?func (self *someStruct) Change(newNum int) { self.propertyOne = newNum}但是,以下似乎仍然有效。structInstance := &someStruct{ propertyOne: 41,}(*structInstance).Change(456)为什么?它是否将值转换(*structInstance)回Change调用的地址/指针?如何确保某个类型的某些实例无法调用在指针上定义的方法(如Change)?去游乐场演示http://play.golang.org/p/azbpp_djlG
2 回答
- 2 回答
- 0 关注
- 202 浏览
添加回答
举报
0/150
提交
取消