Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengendalikan Ralat 'Alamat Memori Tidak Sah atau Penolakan Penunjuk Nil' Semasa Mengakses Elemen Peta dalam Go?

Bagaimana untuk Mengendalikan Ralat 'Alamat Memori Tidak Sah atau Penolakan Penunjuk Nil' Semasa Mengakses Elemen Peta dalam Go?

Susan Sarandon
Lepaskan: 2024-12-05 21:11:12
asal
1073 orang telah melayarinya

How to Handle

"Peta[rentetan]*Taip "Alamat Memori Tidak Sah atau Penyingkiran Penunjuk Nil"

Apabila mengakses medan struktur, anda mungkin menghadapi ralat "alamat memori tidak sah atau penyahrujukan nol penunjuk ini biasanya menunjukkan bahawa penunjuk kepada struktur sama ada tidak dimulakan atau menunjuk ke alamat memori yang tidak sah.

Dalam kes anda, anda cuba menetapkan medan dalam peta keadaan Walau bagaimanapun, kerana peta keadaan ialah peta kosong penunjuk, anda mendapatkan nilai nol untuk *. guardduty.Condition from condition.

Menurut "Maps in Action" untuk Go, anda boleh menguji kehadiran kunci menggunakan dua nilai tugasan:

i, ok := m["route"]
Salin selepas log masuk

Dalam tugasan ini, i diberikan nilai yang disimpan di bawah kekunci "laluan" Jika kunci itu tidak wujud, i diberikan nilai sifar jenis nilai (0). , ok, ialah boolean yang menunjukkan sama ada kunci itu wujud dalam peta.

Untuk menyelesaikan isu, ubah suai kod anda sebagai berikut:

if cond, ok := condition["id"]; !ok { // <nil> false
    log.Println("Pointer is null")
} else {
    // Initialize a new guardduty.Condition
    // and assign it to the required key
    nc := &guardduty.Condition{Equals: strPtr}
    condition["id"] = nc
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat 'Alamat Memori Tidak Sah atau Penolakan Penunjuk Nil' Semasa Mengakses Elemen Peta 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