Преобразование в []byte

Преобразование в []byte используется для получения среза байтов из строки, целого числа или других типов данных. В первый параметр передается значение, которое нужно преобразовать в срез байтов. Для преобразования строки в байты используется простое приведение типа []byte(str). Для чисел используются функции пакета strconv, например strconv.AppendInt или strconv.FormatInt в комбинации с []byte.

Синтаксис

go// Преобразование строки в []byte
bytes := []byte(str)

// Преобразование целого числа в []byte
bytes = strconv.AppendInt([]byte{}, num, 10)

Пример

Давайте преобразуем строку "abcde" в срез байтов и выведем его:

gopackage main

import "fmt"

func main() {
  str := "abcde"
  res := []byte(str)
  fmt.Println(res)
}

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

go[97 98 99 100 101]

Обратите внимание, что каждый символ строки преобразуется в соответствующий байт (числовой код ASCII).

Пример

Давайте преобразуем целое число 12345 в срез байтов с помощью функции strconv.AppendInt:

gopackage main

import (
  "fmt"
  "strconv"
)

func main() {
  num := int64(12345)
  res := strconv.AppendInt([]byte{}, num, 10)
  fmt.Println(res)
}

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

go[49 50 51 52 53]

Пример

Давайте преобразуем срез байтов обратно в строку для проверки корректности преобразования:

gopackage main

import "fmt"

func main() {
  bytes := []byte{97, 98, 99, 100, 101}
  res := string(bytes)
  fmt.Println(res)
}

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

go"abcde"

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

  • функцию to-byte,
    которая преобразует значение в тип byte
  • функцию to-string,
    которая преобразует значение в строку
  • функцию to-byte-slice,
    которая преобразует значение в срез байтов
  • функцию string-bytes,
    которая показывает преобразование строки в байты и обратно