通過參考和值在GO中傳遞:理解“*” Modifier
從函數傳遞數據是編程的基本方面。在Go中,有兩種主要方法:按值或參考傳遞。後者涉及使用“*”修飾符,這可能會使初學者混淆。 在Java中,通過參考傳遞對像很簡單,因為對象本質地傳遞為引用。但是,在GO中,允許通過指針進行逐項傳遞和通過轉錄的傳遞可以更有效。 “ [
sql.db)表示db參數是sql.db對象的指針。這樣做的原因是,從技術上講,GO僅支持通過逐個價值,並且傳遞指針是一種模擬通過引用的傳遞的方法。當您傳遞指針時,您將傳遞一個值(指針本身),該值指向內存中實際對象。這意味著通過指針對對象進行的更改將反映在傳遞給該功能的原始變量中。另一方面,直接傳遞一個值(沒有“ *”)製作原始值的副本,因此函數中所做的更改不會影響原始變量。
理解通過引用和逐個價值對於在GO中的有效代碼寫作至關重要。在適當的情況下,使用指針可以提高性能並保持功能和呼叫者代碼之間的一致性。免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3