Go语言模型:string的底层数据结构与高效操作详解

astray24933 11 0 pdf 2021-04-28 23:04:43

Golang的string类型底层数据结构简单,本质也是一个结构体实例,且是const不可变。string的底层数据结构通过下面一个例子来看:string的拼接与修改string类型是一个不可变类型,那么任何对string的修改都会新生成一个string的实例,如果是考虑效率的场景就要好好考虑一下如何修改了。那么每次的+操作,都会涉及新申请buf,然后是对应的copy。其高效也是体现在2倍速的内存增长, WriteString函数利用了slice类型对应append函数的2倍速增长。go string 内部实现这个string的探索来来个例子其中其实可以看到string就是c里面的char* 和len的组合

Go语言模型:string的底层数据结构与高效操作详解

Go语言模型:string的底层数据结构与高效操作详解

Go语言模型:string的底层数据结构与高效操作详解

Go语言模型:string的底层数据结构与高效操作详解

Go语言模型:string的底层数据结构与高效操作详解

Go语言模型:string的底层数据结构与高效操作详解

Go语言模型:string的底层数据结构与高效操作详解

用户评论
请输入评论内容
评分:
暂无评论