Метод binary.ByteOrder.PutUint32
Метод binary.ByteOrder.PutUint32 записывает
32-битное беззнаковое целое число в байтовый срез.
Первый параметр метода — байтовый срез b,
в который будет произведена запись, второй параметр —
число v типа uint32, которое необходимо
записать. Срез должен иметь длину не менее 4 байт,
иначе метод вызовет панику.
Синтаксис
byteOrder.PutUint32(b, v)
Пример
Давайте запишем число 1234567890 в байтовый срез
с использованием порядка байтов LittleEndian:
package main
import (
"encoding/binary"
"fmt"
)
func main() {
b := make([]byte, 4)
num := uint32(1234567890)
binary.LittleEndian.PutUint32(b, num)
fmt.Printf("% x\n", b)
}
Результат выполнения кода:
"d2 02 96 49"
Пример
Давайте запишем число 1234567890 в байтовый срез
с использованием порядка байтов BigEndian:
package main
import (
"encoding/binary"
"fmt"
)
func main() {
b := make([]byte, 4)
num := uint32(1234567890)
binary.BigEndian.PutUint32(b, num)
fmt.Printf("% x\n", b)
}
Результат выполнения кода:
"49 96 02 d2"
Пример
Давайте запишем число 0 в байтовый срез
и выведем полученные байты:
package main
import (
"encoding/binary"
"fmt"
)
func main() {
b := make([]byte, 4)
num := uint32(0)
binary.LittleEndian.PutUint32(b, num)
fmt.Printf("% x\n", b)
}
Результат выполнения кода:
"00 00 00 00"
Пример
Давайте запишем максимальное значение uint32
в байтовый срез:
package main
import (
"encoding/binary"
"fmt"
"math"
)
func main() {
b := make([]byte, 4)
num := uint32(math.MaxUint32)
binary.BigEndian.PutUint32(b, num)
fmt.Printf("% x\n", b)
}
Результат выполнения кода:
"ff ff ff ff"
Смотрите также
-
метод
binary.ByteOrder.PutUint16,
который записывает 16-битное число в байтовый срез -
метод
binary.ByteOrder.PutUint64,
который записывает 64-битное число в байтовый срез -
метод
binary.ByteOrder.Uint32,
который извлекает 32-битное число из байтового среза -
функцию
binary.Write,
которая записывает структуру в байтовый поток