要修改字符串,需要先将其转换成[]rune或[]byte,完成后再转换为string。无论哪种转换,都会重新分配内存,并复制字节数组。

    1. package main
    2. import "fmt"
    3. func chageString() {
    4. s1 := "big"
    5. byteS1 := []byte(s1)
    6. byteS1[0] = 'p'
    7. fmt.Println(string(byteS1))
    8. s2 := "白萝卜"
    9. runeS2 := []rune(s2)
    10. runeS2[0] = '红'
    11. fmt.Println(string(runeS2))
    12. }
    13. func main() {
    14. chageString()
    15. }