One minute
Golang String
总述
数据结构
type stringStruct struct {
str unsafe.Pointer
len int
}
string 本质上通过 slice 实现.
实现
- concate 实现: 2/3/4/5 不懂呀
- slicebytetostring: []byte 转换为 string对象
- stringDataOnStack: 通过判断 string的指针是否在 stach的指针范围内
- 其他的太琐碎, 不提
特殊设计
- 使用固定大小的 tmpbuf 优化调用
问题
- 不是并发安全的, 需要atomic保证安全
37 Words
2019-05-26 12:29 +0800