Go语言中的字符串和切片操作指南

发表时间: 2023-10-19 09:44

字符串和切片(string and slice)

string底层就是一个byte的数组, 因此, 也可以进行切片操作。

package mainimport (    "fmt")func main() {    str := "hello world"    s1 := str[0:5]    fmt.Println(s1) // hello    s2 := str[6:]    fmt.Println(s2) // world}

string本身是不可变的, 因此要改变string中字符。需要如下操作: 英文字符串:

package mainimport (    "fmt")func main() {    str := "Hello world"    s := []byte(str) //中文字符需要用[]rune(str)    s[6] = 'G'    s = s[:8]    s = append(s, '!')    str = string(s)    fmt.Println(str) // Hello Go!}

含有中文字符串:

package mainimport (    "fmt")func main() {    str := "你,世界!hello world!"    s := []rune(str)    s[3] = '够'    s[4] = '浪'    s[12] = 'g'    s = s[:14]    str = string(s)    fmt.Println(str) //你好,够浪!hello go}