谷歌语言本身是c的工具集,谷歌基本上拥有用于开发c程序的大部分结构、内存管理和薄片。 他只是在这上面增加了概念,这里阐述了一个小问题。 在字节数组转移到字符串的问题上,网上大部分都是这样转的。 (
结构字符串
{
byte* str;
intgo len;
(;
这个结构让我想起了nginx的字符串。 他这样定义:
类型定义结构{
size_t len;
u_char *data;
} ngx_str_t;
谷歌中的string概念其实不是以前相遇的结束概念。 他其实是连续的存储器,开头地址的长度,如上所述赋值。 如果p中有\0,他就不处理。 此时,如果对该string进行其他处理,则有可能发生问题。 例如,strconv.Atoi转换为int时存在错误。 解决办法需要自己写
功能字节字符串(p [ ]字节)字符串{
for i :=0; Ilen(p; i {
if p[i]==0 {
返回字符串(p [ 0: I ]
}
}
返回字符串(p ) )。
}
这样就不会发生问题了