Memadamkan Item Pendua daripada Slice
Dalam situasi anda, anda menghadapi masalah apabila memadamkan item pendua daripada kepingan kerana anda' mengulang semula kepingan dan mengalih keluar elemen semasa anda mengulang. Ini boleh membawa kepada ralat indeks dan panik jika item pendua terletak di hujung kepingan.
Untuk menangani isu ini, pendekatan yang lebih cekap ialah menyalin elemen unik ke permulaan kepingan dan kemudian memangkas sebarang unsur berlebihan selepas itu. Begini cara anda boleh melakukannya:
<code class="go">i := 0 for _, v := range cfg.Bootstrap { if v.PeerID == peer.PeerID && v.Address == peer.Address { continue } cfg.Bootstrap[i] = v i++ } cfg.Bootstrap = cfg.Bootstrap[:i]</code>
Dalam kod ini:
Pendekatan ini memastikan bahawa semua elemen pendua dialih keluar dan kepingan kekal konsisten sepanjang proses. Ia mengelakkan ralat indeks dan panik yang boleh berlaku apabila mengalih keluar elemen semasa berulang.
Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Item Pendua dengan Cekap dari Slice in Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!