这篇文章主要介绍了GoLang string与strings.Builder使用对比,Builder 用于使用 Write 方法有效地构建字符串。它最大限度地减少了内存复制。零值可以使用了。不要复制非零生成器
一、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)))
// len([]byte): 11
fmt.Printf("len([]byte): %v\n"