Rumah >pembangunan bahagian belakang >Golang >Penjelasan terperinci penggunaan penghirisan watak golang

Penjelasan terperinci penggunaan penghirisan watak golang

PHPz
PHPzasal
2023-04-24 09:10:10987semak imbas

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.

  1. Takrif hirisan aksara

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
  1. Penciptaan kepingan aksara

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.

  1. Tambah dan padamkan kepingan aksara

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.

  1. Penyambungan dan penyalinan hirisan aksara

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.

  1. Keratan hirisan aksara

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.

  1. Aplikasi penghirisan aksara

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.

  1. Ringkasan

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!

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