String 是一个空字符串`[]字节(";)`序列化为`\0` 我们的代码库是GO和C++。我是C++程序员,所以我可以遵循Go,但是我不太懂。
我们是一家嵌入式商店,Go的人正在序列化一个字符串并将其发送到I2C缓冲区。I2C事务中似乎附加了一个空Go字符串作为String 是一个空字符串`[]字节(";)`序列化为`\0` 我们的代码库是GO和C++。我是C++程序员,所以我可以遵循Go,但是我不太懂。,string,go,embedded,i2c,String,Go,Embedded,I2c,我们是一家嵌入式商店,Go的人正在序列化一个字符串并将其发送到I2C缓冲区。I2C事务中似乎附加了一个空Go字符串作为\0,而不是“nothing” 我在Go文档中看到的所有内容都只描述了如何测试它(即str==”或len(str)>0),但似乎没有描述它是如何序列化的 作为C++程序员,> 0 有意义,因为它是字符串的null终止符,或者甚至只是代码> null < /C> >,这在存储变量中是有意义的。有人能确认或拒绝吗?Go语言没有指定如何序列化Go值。Go标准库中的编码器以不同的方式序列
\0
,而不是“nothing”
我在Go文档中看到的所有内容都只描述了如何测试它(即str==”
或len(str)>0
),但似乎没有描述它是如何序列化的
作为C++程序员,
内存中的字符串值没有空终止符。我很欣赏这个链接,但它没有说明空字符串的值是如何序列化的。还有,我不明白为什么这次投票被否决了。请在评论中提供反馈,这样我可以改进这个问题。@velkor请用这个贴出答案,这样我可以给你打勾。