Go 中的指標解除引用解釋
為了了解指標解除引用,我們將深入研究您提供的 Go 程式碼範例。在原始範例中,建立了 Vertex 結構的多個實例,包括 *q,它是指向 Vertex 的指標。在您的修改版本中,您將 *q 的取消引用值指派給 t。然而,關鍵的區別在於,在修改中,您將 q.X 更改為 4,這會更新 q 指向的原始實例。
指標 *q 指向與 q 相同的底層結構實例。因此,透過更改 q.X 的值,您將更改原始結構,而不是建立副本。因此,當您在修改 q.X 後列印 t 時,您會注意到 t 並未反映更改,因為 t 儲存的是原始結構的副本,並且不指向與 q 相同的位置。
觀察透過指標進行這些更改,您應該直接將 q 分配給 t 而不是取消引用它。在您提到的 C/C 範例中,行為類似。取消引用指標(例如,*q)會建立值的副本,而直接指派指標(例如,t = q)可讓您透過指標修改原始值。
以上是指標解引用如何影響 Go 中的結構複製?的詳細內容。更多資訊請關注PHP中文網其他相關文章!