【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:
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()
arr := []string{"hello", "world", "go"} arr = append(arr, "Golang") fmt.Println(arr)
[hello world go Golang]
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!