我有以下字节数组:
<Context>
当我想将char值放入字节数组时,我得到的错误是buf := make([]byte, 1)
var value int8
value = 45
buf[0] = value // cannot use type int8 as type []byte in assignment
。怎么了?我该怎么做?
答案 0 :(得分:2)
您遇到的问题是虽然int8
和byte
大致相同,但它们的类型并不相同。 Go比这更严格一些,比如PHP(它并不严格)。您可以通过将值显式转换为byte
:
buf := make([]byte, 1)
var value int8
value = 45
buf[0] = byte(value) // cast int8 to byte
答案 1 :(得分:1)
试试这个:
buf := make([]byte, 1)
var value int8
value = 45
buf[0] = byte(value)
更新:取出将负数转换为正数的代码。似乎byte(...)
已在当前版本的Go中进行此转换。