Dalam Go, bekerja dengan kepingan ialah tugas biasa. Keratan ialah struktur data yang menyediakan antara muka seperti tatasusunan dinamik; bagaimanapun, kepingan adalah lebih cekap daripada tatasusunan kerana ia tidak mempunyai panjang tetap. Untuk mengalih keluar elemen daripada hirisan, kita perlu mencarinya dahulu dan kemudian menggunakan operasi hirisan untuk mengubah suai hirisan.
Untuk mencari elemen dalam hirisan, kita boleh menggunakan gelung dan membandingkan setiap elemen dengan satu kita nak keluarkan. Setelah ditemui, kami boleh menggunakan salah satu daripada beberapa teknik hirisan untuk mengalih keluarnya, seperti:
a = append(a[:i], a[i+1:]...)
atau:
a = a[:i+copy(a[i:], a[i+1:])]
Berikut ialah contoh lengkap (tersedia di Go Playground):
<code class="go">package main import "fmt" func main() { s := []string{"one", "two", "three"} // Find and remove "two" for i, v := range s { if v == "two" { s = append(s[:i], s[i+1:]...) break } } fmt.Println(s) // Prints [one three] }</code>
Kami juga boleh mencipta fungsi untuk merangkum operasi ini:
<code class="go">package main import "fmt" func remove(s []string, r string) []string { for i, v := range s { if v == r { return append(s[:i], s[i+1:]...) } } return s } func main() { s := []string{"one", "two", "three"} s = remove(s, "two") fmt.Println(s) // Prints [one three] }</code>
Dengan memahami teknik ini, kami boleh memanipulasi kepingan dalam Go dengan cekap, menambah atau mengalih keluar elemen seperti yang diperlukan dalam program.
Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Rentetan daripada Slice dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!