“Effective Go”文檔說明如下。關(guān)于接收者的指針與值的規(guī)則是值方法可以在指針和值上調(diào)用,但指針方法只能在指針上調(diào)用。http://tip.golang.org/doc/effective_go.html#pointers_vs_values因此,如果我定義一個如下所示的方法,它不是不能用值調(diào)用嗎?func (self *someStruct) Change(newNum int) { self.propertyOne = newNum}但是,以下似乎仍然有效。structInstance := &someStruct{ propertyOne: 41,}(*structInstance).Change(456)為什么?它是否將值轉(zhuǎn)換(*structInstance)回Change調(diào)用的地址/指針?如何確保某個類型的某些實例無法調(diào)用在指針上定義的方法(如Change)?去游樂場演示http://play.golang.org/p/azbpp_djlG
- 2 回答
- 0 關(guān)注
- 223 瀏覽
添加回答
舉報
0/150
提交
取消