Golang string slice
Golang string slice
- 
string底层是一个byte数组, 因此string也可以进行切片处理func main() { //str底层是一个byte数组, 所以可以使用切片 str:="hello world" slice := str[:5] fmt.Println(slice)// hello }
- 
string和切片在内存中的形式 
- 
string是不可变的, 也就是说不能通过str[0] = 'A'方式来修改字符串func main() { str:="hello world" //切片源是什么类型, 切片就是什么类型, 如果切片源是数组,那么切片的类型也是数组 slice := str[:5]//等价于var slice string = str[:] slice[0] = 'a'//编译出错 }
- 
如果修改字符串可以将字符转为 []byte或[]rune切片的形式, 然后转为stringfunc main() { str := "hello" bytes := []byte(str) //如果存在中文使用[]rune(), 一个中文占3个字节 bytes[0] = 'a' //string是一种基本类型 str = string(bytes) fmt.Println(str) //aello }

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号