Ответ
Для добавления int32 в массив из 4 byte используйте binary.Write или прямое преобразование через сдвиг битов. Вот пример:
package main
import (
"encoding/binary"
"fmt"
)
func main() {
var num int32 = 123456
bytes := make([]byte, 4)
// Способ 1: binary.LittleEndian (или BigEndian)
binary.LittleEndian.PutUint32(bytes, uint32(num))
// Способ 2: Через битовые операции
bytes[0] = byte(num)
bytes[1] = byte(num >> 8)
bytes[2] = byte(num >> 16)
bytes[3] = byte(num >> 24)
fmt.Printf("%vn", bytes) // Вывод: [64 226 1 0] (LittleEndian)
}
Выбор LittleEndian или BigEndian зависит от требований к порядку байтов. Первый способ предпочтительнее, так как он явно указывает порядок байтов.