在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/GO/ 為什么說(shuō) golang 編譯器并不是總能獲取到值的地址

為什么說(shuō) golang 編譯器并不是總能獲取到值的地址

如題 :golang 編譯器并不是總能獲取到值的地址


type Integer int 

func (i *Integer) pretty(){
 
}

Integer(25).pretty()//運(yùn)行錯(cuò)誤,無(wú)法找到指針

請(qǐng)教給位 ,為什么這樣說(shuō),什么情況下找不到指針,原理是什么

回答
編輯回答
避風(fēng)港

golang的人好少,只能夠邀請(qǐng)你們幾位,感謝各位!

2017年7月2日 22:40
編輯回答
吃藕丑

因?yàn)?Integer(25).pretty() 將被優(yōu)化成一個(gè)整數(shù)(常量)25 調(diào)用 pretty 函數(shù) 。

你應(yīng)該添加一個(gè)臨時(shí)變量,像這樣

n := Integer(25)
n.pretty()
2017年11月15日 23:58
編輯回答
離殤
  • 常量沒(méi)法取指針是合理的,如果常量能取到指針,那就意味著可以修改,也就不能叫常量了。
  • 這里有一篇關(guān)于go addressable的博文。
2018年4月9日 00:26