Slices dalam bahasa Go (golang) ialah tatasusunan dinamik yang boleh berkembang dan mengecut secara automatik. Kepingan ialah struktur yang merangkum penuding kepada tatasusunan asas, bilangan elemen dan kapasiti.
Memandangkan pelaksanaan penghirisan adalah berdasarkan tatasusunan pendasar, operasi penghirisan sebahagian besarnya tertakluk kepada tatasusunan pendasar. Dalam artikel ini, kita akan membincangkan beberapa kaedah penghirisan biasa dan penggunaannya.
Mula-mula, kita perlu mencipta kepingan. Terdapat dua cara untuk membuat kepingan: menggunakan fungsi buat dan pengisytiharan langsung.
Gunakan fungsi make:
a := make([]int, 5) //Buat kepingan integer dengan panjang 5
Fungsi make menerima dua parameter : Parameter pertama ialah jenis elemen kepingan, dan parameter kedua ialah panjang kepingan. Jika anda ingin menentukan kapasiti, anda boleh lulus parameter ketiga:
b := make([]string, 5, 10) //Buat kepingan rentetan dengan panjang 5 dan kapasiti 10
Pengisytiharan langsung:
c := []int{1, 2, 3, 4, 5} //Buat hirisan integer yang mengandungi 5 elemen
Nota, gunakan ini Panjang dan kapasiti kepingan yang dibuat dengan cara ini adalah sama.
Mengakses elemen kepingan mengikut indeks adalah sama seperti tatasusunan. Sebagai contoh, untuk mengakses elemen pertama, anda akan melakukan sesuatu seperti ini:
fmt.Println(c[0])
Memandangkan kepingan boleh berubah, kita boleh mengubah suai nilai elemen di dalamnya dengan indeks:
c[0] = 10 //Tukar elemen pertama kepada 10
Gunakan kaedah tambah hirisan untuk menambah elemen pada kepingan. Jika kapasiti hirisan tidak cukup besar untuk menampung semua elemen, ia akan berkembang secara automatik.
Sebagai contoh, kita boleh menambah elemen pada hujung kepingan menggunakan:
c = append(c, 6, 7, 8) //Tambah 3 elemen pada hujung kepingan
Apabila menambah satu elemen, kita boleh menulis seperti ini:
c = append(c, 9) //Tambah elemen di hujung kepingan
Kepingan boleh disalin menggunakan fungsi salin. Parameter pertama fungsi salin ialah kepingan sasaran, dan parameter kedua ialah kepingan sumber.
Contohnya:
d := make([]int, len(c))
copy(d, c)
Gunakan bentuk [start:end] hirisan untuk memintas hirisan dan dapatkan hirisan baharu. mula mewakili kedudukan permulaan (selang tertutup) untuk dipintas, dan hujung mewakili kedudukan akhir (selang terbuka).
Contohnya:
e := c[2:5] //Memintas kepingan yang mengandungi elemen ketiga hingga kelima
Jika permulaan ditinggalkan, lalai ialah 0 ;Jika hujung ditinggalkan, ia lalai kepada panjang hirisan.
Tiada cara langsung untuk memadamkan elemen kepingan dalam Go. Walau bagaimanapun, kita boleh memadamkan elemen secara tidak langsung dengan membina semula kepingan baharu.
Sebagai contoh, kita boleh memadamkan elemen ketiga menggunakan kod berikut:
f := append(c[:2], c[3:]...)
Dengan cara ini, f ialah kepingan baharu di mana elemen ketiga telah dialih keluar.
Ringkasan
Menghiris ialah jenis data yang sangat berkuasa, yang boleh membantu kami mengendalikan data dengan lebih mudah. Dalam artikel ini, kami memperkenalkan beberapa kaedah operasi hirisan biasa, termasuk penciptaan, akses, pengubahsuaian, tambah, salin, pemintasan dan pemadaman. Jika anda ingin menguasai penghirisan dalam bahasa Go, anda boleh mendalami pemahaman anda dengan membaca dokumentasi rasmi.
Atas ialah kandungan terperinci Mari kita bercakap tentang cara menggunakan kaedah menghiris golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!