Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Penyahrujukan Penunjuk Mempengaruhi Penyalinan Struktur dalam Go?

Bagaimanakah Penyahrujukan Penunjuk Mempengaruhi Penyalinan Struktur dalam Go?

Barbara Streisand
Lepaskan: 2024-12-01 10:02:09
asal
381 orang telah melayarinya

How Does Pointer Dereferencing Affect Struct Copying in Go?

Penyahrujukan Penunjuk dalam Go Dijelaskan

Untuk memahami penyahrujukan penuding, kami akan menyelidiki contoh kod Go yang anda berikan. Dalam contoh asal, beberapa contoh struct Vertex dicipta, termasuk *q yang merupakan penunjuk kepada Vertex. Dalam versi anda yang diubah suai, anda menetapkan nilai penyahrujukan *q kepada t. Walau bagaimanapun, perbezaan utama ialah dalam pengubahsuaian anda, anda menukar q.X kepada 4, yang mengemas kini tika asal yang ditunjuk oleh q.

Penunjuk *q menunjuk kepada tika struct asas yang sama seperti q. Jadi, dengan menukar nilai q.X, anda mengubah struktur asal, bukan mencipta salinan. Oleh itu, apabila anda mencetak t selepas mengubah suai q.X, anda akan dapati bahawa t tidak mencerminkan perubahan kerana t menyimpan salinan struct asal dan tidak menunjuk ke lokasi yang sama seperti q.

Untuk memerhati perubahan ini melalui penuding, anda harus menetapkan q secara langsung kepada t dan bukannya membatalkan rujukannya. Dalam contoh C/C yang anda nyatakan, tingkah laku adalah serupa. Penyahrujukan penunjuk (cth., *q) mencipta salinan nilai, manakala penuding diberikan secara langsung (cth., t = q) membolehkan anda mengubah suai nilai asal melalui penuding.

Atas ialah kandungan terperinci Bagaimanakah Penyahrujukan Penunjuk Mempengaruhi Penyalinan Struktur dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan