如果我有這樣的結(jié)構(gòu):type Message struct { Id int64 Message string ReplyTo *int64}然后,如果我確實像這樣創(chuàng)建了這個結(jié)構(gòu)的實例:var m Messagem.Id = 1m.Message = "foo bar yo"var replyTo = int64(64)m.ReplyTo = &replyTo然后它會起作用。但我想知道最后一步是否有捷徑?我嘗試做類似的事情:m.ReplyTo = &int64{64}但它沒有用。
1 回答

莫回無
TA貢獻1865條經(jīng)驗 獲得超7個贊
我認為您不能,因為該值是一個原始值,并且嘗試像下面這樣一次性完成將是語法錯誤。它試圖獲取一個值的地址,所以這是不可能的。至少我不知道有什么可能的方法。
someInt := &int64(10) // would not compile
另一種選擇是編寫一個函數(shù)來返回一個指向原語的指針,如下所示:
func NewIntPointer(value int) *int {
return &value
}
- 1 回答
- 0 關(guān)注
- 195 瀏覽
添加回答
舉報
0/150
提交
取消