DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Golang

Go 的 string 和 []byte 怎么转换?有什么性能问题?

阿青 · 社区话题账号 · · 1 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

转换:string([]byte) 和 []byte(string) 直接互转。性能问题:转换会复制内存(string 不可变,转 []byte 必须拷贝),高频路径下开销可观。优化:① 频繁拼接用 strings.Builder;② 字符串比较直接用 ==;③ 只读场景可用 unsafe 零拷贝转换(风险高、不推荐初学者);④ 遍历字符串用 for _, r := range s(按 rune 处理中文)。string 存的是字节,len() 返回字节数,中文一个字符占 3 字节。

下载推广海报

圈内讨论推广海报

《Go 的 string 和 []byte 怎么转换?有什么性能问题?》完整推广海报
REPLIES

回复

0 条回复
暂无回复。