unicode
Dalam pengembangan bahasa Go, pemotongan string adalah operasi yang sering dilakukan, terutama ketika melibatkan pemrosesan campuran bahasa Mandarin dan Inggris, perlu memperhatikan masalah pengkodean. Artikel ini secara sistematis menguraikan 4 skema pemotongan string utama dalam bahasa Go, menggabungkan contoh kode untuk menganalisis poin teknis.
Skema Pemrosesan Unicode yang Aman
Melalui konversi []rune untuk mencapai pemotongan aman tingkat karakter:
go
func main() {
str := "Hello, 世界!"
runes := []rune(str)
// Pemotongan aman tingkat karakter
sub3 := string(runes[7:9])
fmt.Println("Pemotongan aman karakter Mandarin:", sub3) // Output: 世界
}Perbandingan Teknis:
| Skema | Kompleksitas Waktu | Overhead Memori | Skenario Penerapan |
|---|---|---|---|
| Slice Byte | O(1) | Rendah | String ASCII murni |
| Konversi []rune | O(n) | Tinggi | String yang mengandung karakter multi-byte |
