Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyelesaikan Ralat 'alamat memori tidak sah atau penolakan penunjuk nil' dalam Peta Go?

Bagaimana untuk Menyelesaikan Ralat 'alamat memori tidak sah atau penolakan penunjuk nil' dalam Peta Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-11 04:52:11455semak imbas

How to Resolve

alamat memori tidak sah atau penolakan penunjuk nol dalam Go map[string]*type

Apabila cuba mengakses nilai dalam peta, anda mungkin menghadapi ralat "alamat memori tidak sah atau penolakan penunjuk nil." Ralat ini berlaku apabila kunci yang disoal tidak wujud dalam peta atau jika nilai yang disimpan pada kunci itu ialah penunjuk sifar.

Dalam kes khusus ini, kod cuba mengakses kekunci "id" dalam peta "keadaan". Walau bagaimanapun, peta "keadaan" dimulakan sebagai peta kosong tanpa sebarang pasangan nilai kunci. Oleh itu, apabila cuba mengakses "keadaan['id']", kunci tidak wujud, dan percubaan dibuat untuk mengakses penuding nol. Ini mengakibatkan ralat "alamat memori tidak sah atau nyahrujuk penuding tiada".

Untuk menyelesaikan isu ini, anda boleh memulakan peta "keadaan" dan menetapkan nilai kekunci "id" sebelum cuba mengaksesnya. Berikut ialah contoh:

// Initialize the condition map
condition = make(map[string]*guardduty.Condition)

// Set the value of the "id" key
condition["id"] = &guardduty.Condition{
    Equals: aws.StringSlice(findingId),
}

Selepas memulakan peta dan menetapkan nilai kunci "id", kini anda boleh mengaksesnya dengan selamat tanpa menghadapi ralat.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'alamat memori tidak sah atau penolakan penunjuk nil' dalam Peta Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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