Функция bytes.NewBuffer
Функция bytes.NewBuffer создает новый буфер типа *bytes.Buffer,
инициализированный строкой, переданной в качестве аргумента.
Буфер содержит байтовый срез, который может быть изменен без
создания нового буфера. В первый параметр функция принимает
строку, которую необходимо записать в буфер.
Синтаксис
bytes.NewBuffer(str)
Пример
Давайте создадим буфер из строки "abcde"
и выведем его содержимое:
package main
import (
"bytes"
"fmt"
)
func main() {
buf := bytes.NewBuffer("abcde")
fmt.Println(buf.String())
}
Результат выполнения кода:
"abcde"
Пример
Давайте создадим буфер из строки "12345"
и запишем в него дополнительные данные:
package main
import (
"bytes"
"fmt"
)
func main() {
buf := bytes.NewBuffer("12345")
buf.WriteString("67890")
fmt.Println(buf.String())
}
Результат выполнения кода:
"1234567890"
Пример
Давайте создадим буфер из строки "abcde"
и прочитаем из него данные в байтовый срез:
package main
import (
"bytes"
"fmt"
)
func main() {
buf := bytes.NewBuffer("abcde")
b := make([]byte, 3)
_, err := buf.Read(b)
if err != nil {
fmt.Println("Error reading")
return
}
fmt.Println(string(b))
}
Результат выполнения кода:
"abc"
Смотрите также
-
функцию
bytes.NewBufferString,
которая создает буфер из строки аналогичным образом -
тип
bytes.Buffer,
который предоставляет методы для работы с буфером -
метод
bytes.Buffer.String,
который возвращает содержимое буфера как строку -
метод
bytes.Buffer.Bytes,
который возвращает содержимое буфера как срез байтов