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

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

何時使用指針

何時使用指針

Go
慕娘9325324 2021-11-29 19:18:33
我是 Go 語言的新手,并且只有很少的 C/C++ 背景,所以我很自然地在思考何時使用指針和何時不使用指針的想法。盡管這個問題可能被認為是開放式的,但我想知道關于何時返回結構和何時返回指針的一些指導原則(以及何時接受結構/指針作為參數)。據我所知,以下陳述是正確的:結構按值傳遞給函數。也就是說,在將結構傳遞給函數時,會對其進行復制。如果我想通過引用傳遞結構,那么我會在函數定義中使用指針參數,并在調用函數時使用 addressof 運算符。我想通過引用傳遞結構的原因是因為我傳遞的結構很大,并且按值傳遞它會占用內存(不太可能)或者如果我想對復制我傳入的(更有可能)。作為 3.) 的推論,我應該通過值傳遞,除非我有上述原因之一通過引用傳遞。我的假設正確嗎?還是我錯過了指針上的標記?
查看完整描述

1 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

你的假設是正確的。關于 #3,Go 是并發語言,在 goroutine 中通過引用傳遞使它們都讀取相同的結構,這是安全的,但也會使它們修改相同的結構,這是危險的。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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