Skip to content

unicode

Go 言語開発において、文字列の切り取りは高頻度の操作です。特に中国語と英語が混在する処理を行う場合は、エンコーディング問題に特に注意する必要があります。本稿では、Go 言語における 4 つの主流な文字列切り取り方案を体系的に整理し、コード例と合わせて技術ポイントを解説します。

Unicode 安全処理方案

[]rune 変換を通じて文字レベルの安全な切り取りを実現します。

go
func main() {
    str := "Hello, 世界!"
    runes := []rune(str)
    
    // 文字レベルの安全な切り取り
    sub3 := string(runes[7:9])
    fmt.Println("安全に中国語を切り取り:", sub3) // 出力:世界
}

技術比較

方案時間計算量メモリオーバーヘッド適用シーン
バイトスライスO(1)純粋な ASCII 文字列
[]rune 変換O(n)マルチバイト文字を含む文字列

Golang学习网由www.golangdev.cn整理维护