Go语言中的string类型与字符串 builder的对比分析
发布时间
阅读量:
阅读量
本文重点阐述了GoLang中string类型与strings.Builder的使用差异,其中Builder通过Write方法实现高效的字符串构建。其优势在于显著减少内存复制操作,零值可以直接使用,避免对非零生成器进行复制。
一、strings.Builder的优势
现有内容具有不可变特性,但能够添加更多内容;
有效降低内存分配及拷贝次数;
支持内容重叠与重复利用;
二、string类型的值
在Go语言中,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", len([]byte(str01)))
全部评论 (0)
还没有任何评论哟~
