总述

数据结构

type stringStruct struct {
    str unsafe.Pointer
    len int
}

string 本质上通过 slice 实现.

实现

  • concate 实现: 2/3/4/5 不懂呀
  • slicebytetostring: []byte 转换为 string对象
  • stringDataOnStack: 通过判断 string的指针是否在 stach的指针范围内
  • 其他的太琐碎, 不提

特殊设计

  1. 使用固定大小的 tmpbuf 优化调用

问题

  1. 不是并发安全的, 需要atomic保证安全