IT评测·应用市场-qidao123.com技术社区
标题:
golang中string底层数据结构与上层数据结构的关系
[打印本页]
作者:
千千梦丶琪
时间:
2024-9-14 09:55
标题:
golang中string底层数据结构与上层数据结构的关系
golang的字符串范例有string,rune,和[]byte几种表示,string的底层是基于byte数组实现,由操作系统分配基本的byte范例一连地址即字节数组,string利用底层的字符串头来描述字符串的数据在物理层的存储数据的地址类似有切片头拿string举例 reflect.StringHeader结构体描述两部分的内容一是字符串所在的物理地址二是字节能转译字符的长度如字母编码会转为1字节为字符汉字编码值会辨认成utf8编码采取三字节编码成一个字符,并计算字符的长度,string的底层结构就是StringHeader,以是可以利用unsafe.Pointer就有相同结构的数据范例转换成底层范例,并利用它维护的地址来操作字符串的字节数组值,相反对地址解指针可以修改内容值但内存地址照旧不可变的对于string是只读存在。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/)
Powered by Discuz! X3.4