Skip to content

unicode

Trong phát triển ngôn ngữ Go, việc cắt chuỗi là thao tác tần suất cao, đặc biệt khi liên quan đến xử lý hỗn hợp tiếng Trung và tiếng Anh cần đặc biệt chú ý vấn đề mã hóa. Bài viết này hệ thống梳理 4 phương án cắt chuỗi chủ lưu trong ngôn ngữ Go, kết hợp ví dụ code phân tích điểm kỹ thuật.

Phương án xử lý Unicode an toàn

Thông qua chuyển đổi []rune để thực hiện cắt an toàn cấp ký tự:

go
func main() {
    str := "Hello, 世界!"
    runes := []rune(str)
    
    // Cắt an toàn cấp ký tự
    sub3 := string(runes[7:9])
    fmt.Println("Cắt an toàn tiếng Trung:", sub3) // Đầu ra: 世界
}

So sánh kỹ thuật:

Phương ánĐộ phức tạp thời gianChi phí bộ nhớKịch bản áp dụng
Slice byteO(1)ThấpChuỗi thuần ASCII
Chuyển đổi []runeO(n)CaoChuỗi chứa ký tự đa byte

Golang by www.golangdev.cn edit