将int8放入字节数组

时间:2016-06-24 09:50:04

标签: go

我有以下字节数组:

<Context>

当我想将char值放入字节数组时,我得到的错误是buf := make([]byte, 1) var value int8 value = 45 buf[0] = value // cannot use type int8 as type []byte in assignment 。怎么了?我该怎么做?

2 个答案:

答案 0 :(得分:2)

您遇到的问题是虽然int8byte大致相同,但它们的类型并不相同。 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中进行此转换。