kaedah hirisan golang Op

WBOY
Lepaskan: 2023-05-14 14:40:38
asal
514 orang telah melayarinya

【Kata Pengantar】

Bahasa Slice in Go ialah struktur data yang sangat biasa dan sering digunakan untuk operasi tatasusunan dinamik. Dalam penggunaan, kita selalunya perlu melakukan operasi seperti menambah, memadam, menyemak dan mengubah suai kepingan, dan bahasa Go menyediakan beberapa kaedah terbina dalam untuk melaksanakan operasi ini. Artikel ini akan memperkenalkan secara terperinci penggunaan asas dan kaedah menghiris biasa dalam bahasa Go.

[1. Definisi hirisan]

Kepingan ialah jujukan panjang berubah-ubah, ditakrifkan sebagai:

var arr []type
Salin selepas log masuk

Jenis di sini boleh terdiri daripada sebarang jenis, seperti int , rentetan, dsb. Anda juga boleh menggunakan kaedah make() untuk membuat hirisan terus:

arr := make([]type, len, cap)
Salin selepas log masuk

dengan len mewakili panjang hirisan dan penutup mewakili kapasiti hirisan. Apa yang perlu diperhatikan di sini ialah kapasiti kepingan lebih besar daripada atau sama dengan panjang.

[2. Operasi asas penghirisan]

2.1 Traversal of slice

Anda boleh menggunakan kata kunci julat untuk melintasi kepingan Contoh kod adalah seperti berikut:

arr := []string{"hello", "world", "go"}

for index, value := range arr {
    fmt.Printf("index:%d, value:%s
", index, value)
}
Salin selepas log masuk

Output Hasilnya ialah:

index:0, value:hello
index:1, value:world
index:2, value:go
Salin selepas log masuk

2.2 Menambah kepingan

Untuk menambah elemen pada kepingan, anda boleh menggunakan kaedah append(), seperti yang ditunjukkan di bawah:

var arr []string
arr = append(arr, "hello")
Salin selepas log masuk

Perlu diingatkan di sini bahawa menggunakan kaedah After the append() , nilai pulangannya perlu ditugaskan semula kepada kepingan.

2.3 Pemadaman kepingan

Untuk memadamkan elemen dalam kepingan, anda boleh menggunakan kaedah delete() terbina dalam, seperti yang ditunjukkan di bawah:

arr := []string{"hello", "world", "go"}

arr = append(arr[:1], arr[2:]...)
Salin selepas log masuk

Sintaks di sini ialah sangat rumit, kita Ia boleh dibahagikan kepada tiga bahagian:

  • arr[:1]: mewakili unsur dari 0 hingga 1 (tidak termasuk 1), iaitu, "hello"; >arr[ 2:]: bermaksud daripada 2 hingga elemen terakhir tatasusunan (tidak termasuk 2), iaitu, "pergi";
  • ... bermaksud menggabungkan dua keping.
  • Hasil akhir ialah memadamkan elemen "dunia" dengan indeks 1.

2.4 Pengubahsuaian kepingan

Ubah suai elemen dalam kepingan untuk memberikan nilai secara langsung melalui subskrip, seperti ditunjukkan di bawah:

arr := []string{"hello", "world", "go"}

arr[1] = "Golang"

fmt.Println(arr)
Salin selepas log masuk

Hasil output ialah:

[hello Golang go]
Salin selepas log masuk

[3. Kaedah menghiris biasa]

Berikut adalah beberapa kaedah menghiris yang biasa digunakan:

Kaedah 3.1 len()

Kaedah len() digunakan untuk mendapatkan kepingan Panjang :

arr := []string{"hello", "world", "go"}

fmt.Println(len(arr))
Salin selepas log masuk

Hasil keluaran ialah:

3
Salin selepas log masuk

kaedah 3.3 copy()

kaedah copy() boleh menyalin nilai satu keping yang lain slice. Contoh kod adalah seperti berikut :

arr := make([]string, 3, 5)

fmt.Println(cap(arr))
Salin selepas log masuk

Hasil output ialah:

5
Salin selepas log masuk

kaedah 3.4 append()

kaedah append() digunakan untuk menambah elemen pada slice. Contoh kod adalah seperti berikut:

var arr1 = []string{"apple", "banana", "orange"}

var arr2 = make([]string, 3)

copy(arr2, arr1)

fmt.Println(arr2)
Salin selepas log masuk

Hasil keluaran ialah:

[apple banana orange]
Salin selepas log masuk

3.5 append() kaedah dan pengembangan

Apabila kapasiti kepingan tidak mencukupi untuk menampung elemen baharu, kaedah append() secara automatik akan mengembangkan kapasiti dan syarat pengembangan Ia adalah:

Jika panjang elemen baharu kurang daripada 1024, kapasiti kepingan digandakan ;

Jika panjang elemen baharu lebih besar daripada atau sama dengan 1024, setiap pengembangan meningkatkan kapasiti asal sebanyak 1/4 sehingga kapasiti mencukupi.

3.6 Parameter pembolehubah kaedah append()

    Parameter input kaedah append() boleh menjadi parameter berubah dan berbilang elemen boleh ditambah pada kod contoh adalah seperti berikut:
  • arr := []string{"hello", "world", "go"}
    
    arr = append(arr, "Golang")
    
    fmt.Println(arr)
    Salin selepas log masuk
  • Hasil keluarannya ialah:
  • [hello world go Golang]
    Salin selepas log masuk
    [Ringkasan]

    Artikel ini menyediakan pengenalan terperinci kepada penggunaan asas dan kaedah biasa menghiris dalam Pergi bahasa saya harap ia akan berguna kepada semua orang. Dalam kod sebenar, penggunaan penghirisan yang fleksibel boleh menjadikan kod kami lebih ringkas dan cekap.

    Atas ialah kandungan terperinci kaedah hirisan golang Op. 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