mushroomsir.github.io icon indicating copy to clipboard operation
mushroomsir.github.io copied to clipboard

Go中string转[]byte的陷阱.md

Open knull-cn opened this issue 4 years ago • 0 comments

新的go编译器 //1、最小分配内存是8字节. //2、const string转到slice是强转,不会重新分配空间;如果是变量string,那么会对slice重新分配空间. // 2.1、如果const string(s没有重新分配空间),那么剩余空间不够(slice强转),那么s1/s2也会重新分配空间,所以s1,s2重新分配空间 // 2.2、如果变量string,那么s重新分配空间,导致cap的剩余空间足够,导致s1/s2都还是用s的空间,导致s1,s2的内容相同。 // 2.3、变量string,如果正好8字节,正好在赋值满了,s也满了,所以s1//s2也会重新分配空间,所以s1,s2重新分配空间.

knull-cn avatar Mar 16 '20 10:03 knull-cn