Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Memadamkan Elemen dengan Cekap daripada Go Slice Menggunakan Operator Append dan Spread?

Bagaimana untuk Memadamkan Elemen dengan Cekap daripada Go Slice Menggunakan Operator Append dan Spread?

DDD
Lepaskan: 2024-12-18 07:40:11
asal
915 orang telah melayarinya

How to Efficiently Delete an Element from a Go Slice Using the Append and Spread Operator?

Padamkan Elemen dalam Sekeping

Coretan kod Go ini menggambarkan cara mengalih keluar elemen daripada kepingan:

func main() {
    a := []string{"Hello1", "Hello2", "Hello3"}
    fmt.Println(a)
    // [Hello1 Hello2 Hello3]
    a = append(a[:0], a[1:]...)
    fmt.Println(a)
    // [Hello2 Hello3]
}
Salin selepas log masuk

Kod ini menunjukkan helah untuk memadamkan elemen menggunakan fungsi tambah. Bagaimanakah ini berfungsi dan apakah yang dilakukan oleh pengendali ... (titik titik)?

Sintaks untuk memadamkan elemen pada indeks i daripada kepingan a ialah:

a = append(a[:i], a[i+1:]...)
Salin selepas log masuk

Penjelasan:

  • [:i] mencipta kepingan kosong daripada permulaan kepingan sehingga (tetapi tidak termasuk) indeks i.
  • [i 1:] mencipta kepingan yang bermula selepas elemen di indeks i dan pergi ke penghujung slice.
  • ... ialah pengendali hamparan, yang membongkar elemen kepingan atau tatasusunan menjadi variadic arguments.

Apabila append dipanggil, argumen pertama mestilah hirisan jenis yang sama seperti hirisan yang diubah suai (a dalam kes ini), argumen kedua ialah parameter variadic yang menerima sebarang nombor daripada elemen jenis yang sama dan nilai pulangan ialah kepingan baharu dengan elemen ditambah.

Dalam kod yang diberikan, pengendali hamparan membongkar elemen daripada a[1:] ke dalam variadic hujah lampiran. Ini bersamaan dengan menghantar secara manual dalam elemen a[1], a[2], .... Argumen pertama ialah kepingan kosong untuk memastikan elemen lama ditimpa.

Kesimpulan:

Helah ini membolehkan kami memadamkan elemen daripada kepingan dengan membina semula kepingan dengan elemen sebelum dan selepas elemen yang ingin kami alih keluar. Operator spread memainkan peranan penting dalam membongkar elemen yang akan ditambahkan semula ke dalam kepingan.

Atas ialah kandungan terperinci Bagaimana untuk Memadamkan Elemen dengan Cekap daripada Go Slice Menggunakan Operator Append dan Spread?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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