Go的string与strings.Builder
文章目录
一、strings.Builder 的优势
- 以存在的内容不可变,但可以拼接更多的内容;
- 减少了内存分配和内存拷贝的次数;
- 可将可容重叠,可重用值;
二、string类型的值
在Go语言中,string类型的值是不可变的。
基于原字符串的裁剪和拼接操作:
- 裁剪操作可以使用切片表达式;
- 拼接操作可以使用操作符+实现;
一个string的内容会被存储在一块连续的内存空间中,这个连续空间的字节数量也会被记录下来,并用于表示该string值的长度。
对string类型的值,执行len() 方法,得到的是字节的数量。
var str01 string
str01 = "Go,你好"
// len(string) : 11
fmt.Printf("len(string) : %v \n", len(str01))
// len([]char): 5
fmt.Printf("len([]char): %v\n", len([]rune(str01))