亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Go中解引用指針

在Go中解引用指針

Go
白衣染霜花 2021-04-05 17:15:58
我對第15行無效的原因感到困惑。為什么不能取消指向big.Int的指針,而可以取消指向int的指針?package mainimport (    "fmt"    "big")func main() {    var c *int = getPtr()    fmt.Println(c)    fmt.Println(*c)    var d *big.Int = big.NewInt(int64(0))    fmt.Println(d)    // does not compile - implicit assignment of big.Int    // field 'neg' in function argument    //fmt.Println(*d)}func getPtr() *int {    var a int = 0    var b *int = &a    return b}
查看完整描述

1 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

這是因為Int是具有未導出字段的結構。當按值將結構傳遞給函數時,就是在對其進行復制。在圍棋規范指出,這個是合法的

...要么必須導出T的所有字段,要么賦值必須在聲明T的同一包中。換句話說,僅當程序的每個字段都可以合法地分配結構的每個字段時,才可以將結構值分配給結構變量。


查看完整回答
反對 回復 2021-04-26
  • 1 回答
  • 0 關注
  • 310 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號