字符串在所有语言中可以说是用的最频繁的一种数据结构 在golang中当然也存在.虽然字符串往往被看做一个整体,但是实际上字符串是一片连续的内存空间,我们也可以将它理解成一个由字符组成的数组

golang中的字符串是个只读的 它实际上是由字符组成的数组,会占用一片连续的内存空间, 这里的只读是说无法直接改变字符串 在运行时我们其实还是可以将这段内存拷贝到堆或者栈上,将变量的类型转换成 []byte 之后就可以进行,修改后通过类型转换就可以变回 string,Go 语言只是不支持直接修改 string 类型变量的内存空间

由于字符串是只读的 因此不能⽤序号获取字节元素指针, &s[i] ⾮法 提示cannot take the address of xxx原因在于如果支持取地址操作则就可以使用指针对改地址指向的值进行修改 这就违背了字符串只读的前提。