Rumah > pembangunan bahagian belakang > Golang > golang slice padam item

golang slice padam item

PHPz
Lepaskan: 2023-05-10 10:29:36
asal
909 orang telah melayarinya

Kata Pengantar

Di Golang, slice ialah tatasusunan dinamik yang boleh menambah atau mengurangkan panjangnya sesuka hati, menjadikannya sangat fleksibel. Apabila menggunakan slice, kadangkala anda perlu memadamkan item dalam tatasusunan dinamik untuk memenuhi keperluan anda sendiri. Artikel ini akan memperkenalkan cara melaksanakan operasi pemadaman kepingan melalui fungsi terbina dalam Golang dan kaedah mencipta kepingan baharu.

1. Laksanakan pemadaman kepingan melalui fungsi terbina dalam

Dalam pustaka fungsi terbina dalam Golang, terdapat fungsi yang dipanggil "tambah", yang boleh digunakan untuk mengembangkan panjang secara dinamik hiris dan masukkan ke hujung kepingan. Oleh itu, kita boleh melaksanakan operasi pemadaman kepingan dengan menggunakan fungsi ini dan menggabungkannya dengan subskrip. Langkah-langkah khusus adalah seperti berikut:

  1. Tentukan kepingan

Andaikan kita mentakrifkan kepingan integer bernama "nombor":

numbers := []int{1, 2, 3, 4, 5}
Salin selepas log masuk
Salin selepas log masuk
  1. Definisi Subskrip

Mengikut ciri slice, kita boleh memadamkan elemen di dalamnya melalui subskrip. Sebagai contoh, jika kita ingin memadamkan elemen dengan indeks 2 dalam kepingan (iaitu, nombor 3), kita boleh menentukan pembolehubah bernama "indeks" dan memberikannya nilai 2:

index := 2
Salin selepas log masuk
Salin selepas log masuk
  1. Gunakan fungsi tambah Padam elemen

Seterusnya, kita boleh menggunakan fungsi tambah untuk menyambung elemen dalam kepingan sebelum indeks dan elemen selepas indeks untuk mencapai operasi pemadaman. Kod khusus adalah seperti berikut:

numbers = append(numbers[:index], numbers[index+1:]...)
Salin selepas log masuk

Dalam kod ini, ":index" bermaksud memintas dari kedudukan permulaan hirisan ke kedudukan dengan indeks-1 (iaitu 0~1), "index+1: " bermaksud Potong dari kedudukan indeks+1 ke hujung kepingan (iaitu, 3~4). Gunakan tiga titik "..." untuk menggabungkan dua kepingan menjadi kepingan baharu.

Kod lengkap adalah seperti berikut:

package main

import (
    "fmt"
)

func main() {
    // 定义 slice
    numbers := []int{1, 2, 3, 4, 5}
    // 定义下标
    index := 2
    // 使用 append 函数删除元素
    numbers = append(numbers[:index], numbers[index+1:]...)
    fmt.Println(numbers)    // [1 2 4 5]
}
Salin selepas log masuk

2. Laksanakan pemadaman kepingan dengan mencipta kepingan baharu

Selain menggunakan fungsi tambah dan subskrip untuk mencapai pemadaman kepingan, kita juga boleh menggunakan Cipta kepingan kosong baharu dan tambahkan elemen yang anda mahu simpan padanya untuk mendapatkan kepingan baharu. Langkah-langkah khusus adalah seperti berikut:

  1. Tentukan kepingan

Andaikan kita juga mentakrifkan kepingan integer bernama "nombor":

numbers := []int{1, 2, 3, 4, 5}
Salin selepas log masuk
Salin selepas log masuk
  1. Tentukan subskrip

Kami masih menggunakan subskrip untuk menentukan elemen yang akan dipadamkan. Dengan mengandaikan bahawa kita masih mahu memadamkan elemen dengan indeks 2 (iaitu nombor 3), kita boleh menetapkan nilai indeks kepada pembolehubah "indeks":

index := 2
Salin selepas log masuk
Salin selepas log masuk
  1. Buat kepingan kosong baharu

Seterusnya, kita boleh mencipta kepingan kosong baharu dengan panjang 0 melalui fungsi make:

newNumbers := make([]int, 0)
Salin selepas log masuk
  1. Tambah elemen yang perlu dikekalkan

Seterusnya, kita boleh menggunakan untuk Loop dan menambah elemen yang perlu dikekalkan pada kepingan baharu:

for i := 0; i < len(numbers); i++ {
    if i != index {
        newNumbers = append(newNumbers, numbers[i])
    }
}
Salin selepas log masuk

Antaranya, "if i != index" bermaksud hanya elemen selain daripada elemen dengan subskrip indeks ditambah pada kepingan baharu.

Kod lengkap adalah seperti berikut:

package main

import (
    "fmt"
)

func main() {
    // 定义 slice
    numbers := []int{1, 2, 3, 4, 5}
    // 定义下标
    index := 2
    // 新建一个空 slice
    newNumbers := make([]int, 0)
    // 添加需要保留的元素
    for i := 0; i < len(numbers); i++ {
        if i != index {
            newNumbers = append(newNumbers, numbers[i])
        }
    }
    fmt.Println(newNumbers)    // [1 2 4 5]
}
Salin selepas log masuk

Ringkasan

Di Golang, kami boleh melaksanakan operasi pemadaman kepingan melalui penambahan fungsi terbina dalam dan mencipta kepingan baharu, yang mudah dan praktikal. Melalui pengenalan artikel ini, saya percaya pembaca sudah boleh memahami cara melaksanakan operasi pemadaman kepingan dengan cepat dan berkesan, yang akan membantu dalam kerja pembangunan mereka sendiri.

Atas ialah kandungan terperinci golang slice padam item. 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