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] }
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:]...)
Memecahkan Kod
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!