Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menetapkan Nilai Integer dengan Selamat kepada Penunjuk Int dalam Go?

Bagaimana untuk Menetapkan Nilai Integer dengan Selamat kepada Penunjuk Int dalam Go?

Barbara Streisand
Lepaskan: 2024-12-01 07:11:12
asal
146 orang telah melayarinya

How to Safely Assign an Integer Value to an Int Pointer in Go?

Menetapkan Penunjuk Int kepada Nilai Int dalam Go

Apabila memberikan nilai integer kepada penunjuk int dalam Go, adalah penting untuk memastikan penunjuk itu sendiri tidak sifar. Ralat ini timbul apabila cuba menyahrujuk penuding sifar, yang membawa kepada panik masa jalan.

Penyelesaian terletak pada memulakan penuding untuk menunjuk ke lokasi memori yang sah. Ini boleh dicapai menggunakan fungsi terbina dalam new(), yang memperuntukkan memori untuk int baharu dan mengembalikan penunjuk kepadanya. Berikut ialah contoh:

var guess *int
fmt.Println(reflect.TypeOf(guess))  // Outputs: *int
guess = new(int)                  // Allocates memory for a new int
*guess = 12345                    // Dereferences the pointer and sets the value to 12345
fmt.Println(guess)                 // Outputs: 0x10414028 (address of the allocated memory)
Salin selepas log masuk

Pengubahsuaian ini memastikan bahawa penuding menghala ke lokasi memori yang diperuntukkan sebelum mengakses nilai yang ditunjuk. Sebagai alternatif, anda boleh menetapkan alamat pembolehubah secara langsung kepada pembolehubah penunjuk:

value := 12345
guess = &value  // Assigns the address of value to guess pointer
Salin selepas log masuk

Dalam kes ini, penunjuk menunjuk ke lokasi memori pembolehubah nilai, membolehkan anda memanipulasi nilai melalui penuding .

Ingat bahawa mengubah suai nilai ditunjuk melalui penunjuk juga mempengaruhi nilai pembolehubah yang dirujuknya. Sebaliknya, mengubah nilai pembolehubah yang dirujuk secara langsung juga mengubah nilai yang ditunjuk. Hubungan dwi antara penunjuk dan pembolehubah dirujuk ini merupakan konsep penting untuk difahami dalam penggunaan penunjuk.

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Nilai Integer dengan Selamat kepada Penunjuk Int 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