Mengalih keluar Elemen daripada Tatasusunan Struktur dalam Gelung dalam Go
Masalah:
Apabila mengalih keluar elemen daripada tatasusunan daripada struct dalam gelung, ralat "luar julat" mungkin berlaku.
Penyelesaian:
Untuk mengalih keluar elemen mengikut kekunci daripada tatasusunan struct, adalah disyorkan untuk menggunakan salah satu helah penghirisan berikut:
a = append(a[:i], a[i+1:]...)
atau
a = a[:i+copy(a[i:], a[i+1:])]
Nota Penting:
Jika memadamkan elemen dari dalam hirisan yang sedang digelung, adalah penting untuk menggunakan gelung ke bawah untuk mengelakkan elemen melangkau.
Kod Diubah Suai:
// Your original loop with the issue: // for i, application := range config.Applications { // if i == 1 { // config.Applications = _removeApplication(i, config.Applications) // } // } // Corrected code using downward loop: for i := len(config.Applications) - 1; i >= 0; i-- { application := config.Applications[i] // Condition to decide if current element has to be deleted: if haveToDelete { config.Applications = append(config.Applications[:i], config.Applications[i+1:]...) } }
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Ralat \'Di Luar Julat\' Semasa Mengalih Keluar Elemen daripada Tatasusunan Go Struct dalam Gelung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!