Rumah  >  Artikel  >  pembangunan bahagian belakang  >  kaedah hirisan golang Op

kaedah hirisan golang Op

WBOY
WBOYasal
2023-05-14 14:40:38516semak imbas

【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

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)

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)
}

Output Hasilnya ialah:

index:0, value:hello
index:1, value:world
index:2, value:go

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")

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:]...)

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)

Hasil output ialah:

[hello Golang go]

[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))

Hasil keluaran ialah:

3

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))

Hasil output ialah:

5

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)

Hasil keluaran ialah:

[apple banana orange]

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)
  • Hasil keluarannya ialah:
  • [hello world go Golang]
  • [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!

Kenyataan:
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