Sebagai bahasa pengaturcaraan yang pantas, cekap dan selamat, Golang menyediakan banyak kaedah yang berguna untuk pemprosesan rentetan, antaranya penggunaan penghirisan aksara adalah sangat penting. Menghiris aksara bermakna rentetan dibahagikan kepada berbilang bahagian aksara, dan setiap aksara boleh diakses secara bebas, yang sangat praktikal dalam pemprosesan rentetan. Artikel ini akan memperkenalkan aplikasi penghirisan karakter dalam golang.
Dalam Golang, hirisan aksara ditakrifkan seperti berikut:
var slice []Type
Antaranya, Jenis boleh mana-mana jenis yang disokong oleh Golang , seperti int, float64, string, bool, dsb. Dalam penghirisan aksara, penghirisan aksara jenis rentetan biasanya digunakan, yang ditakrifkan seperti berikut:
var strSlice []string
Penciptaan kepingan aksara termasuk dua jenis Kaedah: Gunakan fungsi make dan kaedah penetapan langsung:
//使用 make 函数创建 var strSlice []string = make([]string, 3) //直接赋值方式创建 var strSlice2 []string = []string{"hello", "world"}
Antaranya, menggunakan fungsi make untuk mencipta kepingan aksara memerlukan lulus dalam dua parameter Parameter pertama ialah panjang kepingan, dan parameter kedua ialah Kapasiti mentakrifkan saiz tatasusunan asas kepingan. Jika tiada kapasiti dinyatakan, panjang dan kapasiti lalai kepada sifar.
Elemen dalam kepingan aksara boleh ditambah atau dipadamkan secara dinamik Gunakan fungsi tambah untuk menambah elemen dan menggunakan sintaks kepingan (slice[:index ] + slice[index+1:]) untuk memadam elemen.
//在字符切片的末尾添加一个元素 strSlice = append(strSlice, "hello") //在字符切片的指定位置插入一个元素 strSlice = append(strSlice[:1], append([]string{"world"}, strSlice[1:]...)...) //删除字符切片的指定元素 strSlice = append(strSlice[:2], strSlice[3:]...)
Antaranya, fungsi tambah membenarkan satu atau lebih elemen ditambah pada penghujung kepingan aksara Sintaks adalah seperti berikut:
slice = append(slice, elem1, elem2, elem3)
Jika bilangan. elemen tambahan adalah terlalu banyak, anda boleh menggunakan sintaks Slice untuk menambah:
slice = append(slice, []T{elem1, elem2, elem3}...)
Apabila memadamkan elemen dalam kepingan aksara, kita perlu menggunakan sintaks slice untuk mengeluarkan subskrip yang sepadan dengan elemen yang akan dipadamkan, dan menjana kepingan baharu melalui operasi sambungan untuk memadamkan elemen yang ditentukan.
Kepingan aksara boleh disambungkan kepada berbilang kepingan melalui operasi sambungan. Ia juga menyokong operasi penyalinan a slice into Salin elemen ke hirisan lain:
//字符切片的拼接 slice1 := []string{"hello", "world"} slice2 := []string{"golang", "is", "awesome"} slice3 := append(slice1, slice2...) //字符切片的复制 slice4 := make([]string, len(slice1)) copy(slice4, slice1)
Antaranya, operasi penyambungan menggunakan fungsi tambah untuk menambah satu hirisan terus ke penghujung hirisan lain Juga perhatikan lampiran sintaks(slice1 , slice2...) Tiga titik dalam mewakili bilangan unsur hirisan yang tidak tentu.
Operasi salin menggunakan fungsi salin, yang memerlukan lulus dua parameter, kepingan sasaran dan kepingan sumber.
Kepingan aksara boleh dilalui menggunakan gelung for Di sini kami memperkenalkan dua kaedah traversal yang biasa digunakan: untuk kata kunci gelung dan julat.
//for 循环遍历 for i := 0; i < len(strSlice); i++ { fmt.Println(strSlice[i]) } //range 关键字遍历 for index, value := range strSlice { fmt.Println(index, value) }
Dua kaedah traversal di atas boleh memenuhi kebanyakan keperluan. Apabila merentasi menggunakan kata kunci julat, indeks dan nilai yang diperoleh boleh khusus untuk indeks dan nilai setiap elemen.
Penghirisan aksara sangat biasa di Golang Senario aplikasinya termasuk operasi penggabungan rentetan, pemprosesan parameter baris perintah, rentetan pemisahan, dsb. Di bawah ini kami memperkenalkan beberapa senario aplikasi biasa.
6.1 Operasi penggabungan rentetan
Operasi penggabungan rentetan ialah salah satu senario aplikasi penghirisan aksara yang paling biasa Contohnya, untuk menggabungkan berbilang rentetan menjadi satu rentetan, anda boleh menggunakan rentetan.Fungsi Sertai :
strSlice := []string{"hello", "world"} str := strings.Join(strSlice, ", ") fmt.Println(str) // output: "hello, world"
6.2 Memproses parameter baris perintah
Golang menyediakan kaedah untuk mengakses parameter baris arahan melalui pakej os.Args untuk mendapatkan kepingan aksara yang mengandungi semua parameter baris arahan. , seperti yang ditunjukkan di bawah:
for index, value := range os.Args { fmt.Printf("args[%d]=%s\n", index, value) }
Kod di atas akan mengeluarkan semua parameter baris arahan apabila program semasa sedang berjalan.
6.3 Memisahkan Rentetan
Golang menyediakan pakej rentetan untuk memproses rentetan. Fungsi rentetan boleh membahagikan rentetan kepada berbilang subrentetan berdasarkan pembatas yang ditentukan , dan disimpan dalam kepingan aksara:
str := "hello,world,golang" strSlice := strings.Split(str, ",") for _, value := range strSlice { fmt.Println(value) }
Kod di atas akan mengeluarkan tiga rentetan split: hello, world dan golang.
Artikel ini memperkenalkan definisi, penciptaan, penambahan dan pemadaman, penyambungan dan penyalinan, traversal dan senario aplikasi penghirisan aksara dalam Golang menyelesaikan masalah aksara dengan baik Ia menyelesaikan banyak masalah dalam pemprosesan rentetan, dan kemudahan penggunaan dan kecekapannya telah diiktiraf oleh pembangun.
Atas ialah kandungan terperinci Penjelasan terperinci penggunaan penghirisan watak golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!