Голанг: как преобразовать строку в пример массива байтов

В Golang для преобразования строки в массив байтов вы получаете фрагмент, содержащий байты строки. В Go строка, по сути, представляет собой фрагмент байтов, доступный только для чтения. Важно сразу указать, что строка содержит произвольные байты. Не требуется хранить текст Unicode, текст UTF-8 или любой другой предопределенный формат. Что касается содержимого строки, то оно в точности эквивалентно отрезку байтов.

Преобразование строки в массив байтов

Байт — это 8-битное целое число без знака. В Golang мы часто используем байтовые срезы.

Как в Golang преобразовать строку в байтовый массив?

Вот пример Go, который показывает, как преобразовать строку в массив байтов.

 package mainimport "fmt" func main () {str: = "MBB $" data: = [] byte (str) fmt.Println (data)} 

Вывод

 go run hello.go [77 66 66 36] 

Сначала в коде мы определили строку MBB $, а затем преобразовали эту строку в кусок байтов.

Затем используйте метод fmt.Println () для печати массива байтов.

Golang bytes.Index ()

Здесь мы импортируем « bytes »вверху (в операторе импорта). Мы вызываем bytes.Index (), чтобы найти последовательность с байтовыми значениями.

См. Следующий код.

//hello.gopackage mainimport ("bytes" "  fmt ") func main () {values: = [] byte (" Pug ")//Поиск этой последовательности байтов.result: = bytes.Index (values, [] byte (" g ")) fmt.Println (result  )//Эта последовательность байтов не найдена. Result = bytes.Index (values, [] byte ("Dog")) if result == -1 {fmt.Println ("Dog not found")}} 

 go run hello.go2Dog not found 

Метод Golang strings.Index (), байты. Функция Index () возвращает индекс, если последовательность совпадает. В противном случае он возвращает -1.

В первом примере мы находим g соответствует Pug, поэтому он возвращает индекс g в Pug, который равен 2, потому что индекс начинается с 0.

Во втором примере мы не находим последовательность Dog в Pug; поэтому он возвращает Dog not found.

Golang Копировать строку в байтовый фрагмент

Golang copy () является встроенным метод, который может копировать строку в байтовый фрагмент.

См. следующий код.

//hello.gopackage mainimport "fmt" func main () {//Создать  пустой фрагмент байта длиной 4.values: = make ([] byte, 4)//Копируем строку в bytes.animal: = "pug" copied: = copy (values, animal) fmt.Println (copied) fmt.Println  (значения)} 

Вывод

 go run hello.go3 [112 117 103 0] 

Здесь мы создаем пустой 4-элементный байтовый слайс. Затем мы копируем в него трехэлементную строку.

См. Также

Golang json для сопоставления

Срез Golang в строку

Golang int в строку

Оцените статью
nanomode.ru
Добавить комментарий