go 成长路上的坑(1)
生活随笔
收集整理的這篇文章主要介紹了
go 成长路上的坑(1)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、先來看一段代碼
package mainimport "fmt"type X struct{}func (x *X) test(){println("h1",x) } func main(){a := X{} a.test()(&X{}).test()(X{}).test() }猜猜他的結果
二、揭曉答案
package mainimport "fmt"type X struct{}func (x *X) test(){println("h1",x) } func main(){a := X{} a.test() // 正確(&X{}).test() // 正確 (X{}).test() // 報錯 cannot call pointer method on X literal }三、為什么會是這樣的
- 聲明賦值后調用指針方法
- (&X{}).test() 正確
- (X{}).test() 報錯
四、疑問
(X{}).test() 不可尋址 報錯了 為什么 (&X{}).test() 能取到地址了?轉載于:https://www.cnblogs.com/xiaobaiskill/p/10936481.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的go 成长路上的坑(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智能商业大会构造信息化交流平台
- 下一篇: 好程序员web前端分享MVVM框架Vue