Go語言修改字符串內容

在 Go 語言中,字符串的內容是不能修改的,也就是說,你不能用 s[0] 這種方式修改字符串中的 UTF-8 編碼,如果你一定要修改,那麼你可以將字符串的內容複製到一個可寫的緩衝區中,然後再進行修改。這樣的緩衝區一般是 []byte 或 []rune。如果要對字符串中的字節進行修改,則轉換爲 []byte 格式,如果要對字符串中的字符進行修改,則轉換爲 []rune 格式,轉換過程會自動複製數據。

修改字符串中的字節(用 []byte):

func main() {

s := “Hello 世界!”

b := []byte(s) // 轉換爲 []byte,自動複製數據

b[5] = ‘,’ // 修改 []byte

fmt.Printf("%s\n", s) // s 不能被修改,內容保持不變

fmt.Printf("%s\n", b) // 修改後的數據

}

修改字符串中的字符(用 []rune):

func main() {

s := “Hello 世界!”

r := []rune(s) // 轉換爲 []rune,自動複製數據

r[6] = ‘中’ // 修改 []rune

r[7] = ‘國’ // 修改 []rune

fmt.Println(s) // s 不能被修改,內容保持不變

fmt.Println(string®) // 轉換爲字符串,又一次複製數據

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章