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!