РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1206 of 1593 menu

Метод binary.ByteOrder.PutUint64

Метод binary.ByteOrder.PutUint64 записывает 64-битное беззнаковое целое число в байтовый срез длиной не менее 8 байт. Первым параметром метод принимает байтовый срез ([]byte), в который будет произведена запись, вторым параметром - 64-битное число (uint64), которое нужно записать. Важно, чтобы срез имел достаточную длину, иначе метод вызовет панику.

Синтаксис

byteOrder.PutUint64(b []byte, v uint64)

Пример с BigEndian

Давайте запишем число 1234567890 в байтовый срез с использованием порядка байтов binary.BigEndian:

package main import ( "encoding/binary" "fmt" ) func main() { b := make([]byte, 8) binary.BigEndian.PutUint64(b, 1234567890) fmt.Printf("%x\n", b) }

Результат выполнения кода:

"00000000499602d2"

Пример с LittleEndian

Теперь запишем то же самое число с использованием порядка байтов binary.LittleEndian:

package main import ( "encoding/binary" "fmt" ) func main() { b := make([]byte, 8) binary.LittleEndian.PutUint64(b, 1234567890) fmt.Printf("%x\n", b) }

Результат выполнения кода:

"d202964900000000"

Пример с предварительно заполненным срезом

Метод не очищает срез перед записью, он просто перезаписывает первые 8 байт. Давайте проверим это:

package main import ( "encoding/binary" "fmt" ) func main() { b := []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} binary.BigEndian.PutUint64(b, 0x0102030405060708) fmt.Printf("%x\n", b) }

Результат выполнения кода:

"0102030405060708090a"

Смотрите также

  • метод binary.ByteOrder.Uint64,
    который читает 64-битное число из байтового среза
  • метод binary.ByteOrder.PutUint32,
    который записывает 32-битное число в байтовый срез
  • метод binary.ByteOrder.PutUint16,
    который записывает 16-битное число в байтовый срез
  • функцию binary.Write,
    которая записывает структуру в бинарном представлении
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить