golamg中string和slice
package main import "fmt" func main() { //string底层是一个byte数组,因此string也可以进行切片处理 str := "hello@stargazer" //使用切片获取stargazer slice := str[6:] fmt.Println("slice = ", slice) //string是不可变的,不能通过str[0] = 'z'的方式来修改字符串 //如果需要修改字符串,可以先将string->[]byte或者[]rune->修改->转成string //将"hello@stargazer"=>改成"zello@stargazer" arr1 := []byte(str) arr1[0] = 'z' str = string(arr1) fmt.Println("str = ", str) //转成[]byte后可以处理数字和英文,但是不能处理中文 //[]byte按字节处理,而一个汉字是三个字节,因此会处出现乱码 //将string转成[]rune,[]rune按字符处理,兼容汉字 arr2 := []rune(str) arr2[0] = '北' str = string(arr2) fmt.Println("str = ", str) }