概述
本文介绍string和[]byte的转换,在某些场景下合理的转换方式可以提升服务的整体性能。
背景介绍
string和[]byte的底层数据结构不一致
Type string
Struct string {
Uint8* str;
Int. len
}
Type []byte
Struct []uint8 {
Uint8* array;
Int len;
Int cap;
}
使用通常的类型转换方式,会复制整个字符串。如不修改数据,仅转换类型,可避开复制,提升性能。
方式
string 可看做 [2]uintptr,而 [ ]byte