Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Memadamkan Elemen dengan Cekap daripada Go Slice?

Bagaimanakah Saya Boleh Memadamkan Elemen dengan Cekap daripada Go Slice?

Patricia Arquette
Lepaskan: 2024-12-19 04:53:09
asal
554 orang telah melayarinya

How Can I Efficiently Delete an Element from a Go Slice?

Padamkan Elemen dalam Slice

Dalam Go, pemadaman elemen daripada kepingan boleh dicapai melalui helah pintar yang melibatkan fungsi tambahan. Katakan anda mempunyai kepingan a yang mengandungi unsur "Hello1", "Hello2", dan "Hello3". Untuk memadamkan elemen pertama, anda boleh menggunakan kod berikut:

package main

import "fmt"

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

Cara Trik Berfungsi

Helah itu bergantung pada fakta bahawa fungsi tambahan mengambil pembolehubah bilangan argumen dan menggabungkannya ke dalam kepingan baharu. Dalam kes ini, kami menggunakan operator ... untuk membongkar kepingan a selepas elemen pertama:

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

Memecahkan Kod

  1. a[:0]: Ini menghasilkan kepingan kosong, kerana tiada unsur sebelum yang pertama.
  2. a[1:]...: Ini membongkar kepingan a bermula dari elemen kedua (indeks 1) hingga akhir.

Kesan pada Potongan Akhir

Hasil operasi ini adalah untuk mengeluarkan yang pertama dengan berkesan unsur daripada kepingan a. Potongan baharu kini hanya mengandungi elemen kedua dan ketiga.

Pengendali Titik ... (Argumen Variadik)

Pengendali ... digunakan dalam Pergi ke mencipta fungsi variadic dan membongkar hujah variadic. Apabila digunakan dalam definisi fungsi, ia membenarkan fungsi menerima bilangan hujah yang sewenang-wenangnya daripada jenis tertentu. Sebaliknya, apabila digunakan dalam panggilan fungsi, ia membongkar hirisan ke dalam argumen yang berasingan.

Dalam kes ini, fungsi tambah menjangkakan hirisan sebagai argumen pertamanya dan nombor pembolehubah elemen sebagai argumen kedua. Dengan menghantar hirisan kosong dan membongkar bahagian hirisan yang lain dengan ..., kami secara berkesan menghantar elemen sebagai hujah berasingan untuk ditambahkan.

Oleh itu, helah dengan fungsi tambah menyediakan cara yang mudah untuk memadamkan elemen daripada kepingan tanpa memerlukan logik tambahan atau teknik manipulasi tatasusunan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memadamkan Elemen dengan Cekap daripada Go Slice?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan