Rumah > pembangunan bahagian belakang > Golang > Mengapa slices.Delete() dalam golang menyalin elemen seterusnya?

Mengapa slices.Delete() dalam golang menyalin elemen seterusnya?

PHPz
Lepaskan: 2024-02-14 10:00:09
ke hadapan
1274 orang telah melayarinya

Mengapa slices.Delete() dalam golang menyalin elemen seterusnya?

Editor PHP Zimo akan membincangkan soalan tentang kepingan.Fungsi Padam() dalam Golang dalam artikel ini: Mengapa ia menyalin elemen seterusnya? Slices dalam Golang ialah struktur data yang berkuasa, tetapi fungsi slices.Delete() mempamerkan beberapa gelagat pelik apabila memadamkan elemen. Kami akan menganalisis fenomena ini dan memberikan penjelasan dan punca yang mungkin. Dengan mendalami isu ini, kita boleh lebih memahami kerja dalaman dan idea reka bentuk penghirisan di Golang. Selepas membaca artikel ini, anda akan lebih biasa dengan operasi penghirisan Golang, dengan itu meningkatkan kecekapan pengaturcaraan dan kualiti kod.

Kandungan soalan

Kod contoh:

func main() {
    bar := []string{"Monday", "Tuesday", "Wednesday"}
    slices.Delete(bar, 0, 1) // I want to delete 'Monday'
    fmt.Println(bar)         // prints [Tuesday Wednesday Wednesday]
}
Salin selepas log masuk

Saya tidak faham mengapa saya menerima "Rabu". Saya menjangkakan kepingan dua elemen.

Penyelesaian

slices.delete Kembalikan kepingan yang diubah suai. Anda harus menggunakannya sebagai:

bar=slices.Delete(bar, 0, 1)
Salin selepas log masuk

Ini kerana operasi pemadaman menggerakkan elemen dalam kepingan dan kemudian mengembalikan kepingan yang lebih pendek, tetapi kepingan asal bar kekal tidak berubah.

Atas ialah kandungan terperinci Mengapa slices.Delete() dalam golang menyalin elemen seterusnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan