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

Функция bufio.NewWriterSize

Функция bufio.NewWriterSize создает новый объект bufio.Writer, который буферизирует запись в указанный io.Writer. В первый параметр мы передаем поток вывода (например, os.Stdout или файл), во второй параметр мы передаем размер буфера в байтах. Если размер буфера меньше или равен нулю, функция устанавливает минимальный размер буфера. Буферизация позволяет уменьшить количество системных вызовов, что повышает производительность при множественных операциях записи.

Синтаксис

bufio.NewWriterSize(w io.Writer, size int) *bufio.Writer

Пример

Давайте создадим буферизированный писатель с размером буфера 4096 байт и запишем несколько строк:

package main import ( "bufio" "fmt" "os" ) func main() { writer := bufio.NewWriterSize(os.Stdout, 4096) writer.WriteString("Hello, ") writer.WriteString("World!") writer.Flush() }

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

"Hello, World!"

Пример

Давайте проверим, что данные действительно буферизируются, и они не будут выведены до вызова Flush:

package main import ( "bufio" "fmt" "os" ) func main() { writer := bufio.NewWriterSize(os.Stdout, 100) writer.WriteString("Buffered data") fmt.Println("Data is buffered") writer.Flush() }

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

"Data is buffered" "Buffered data"

Пример

Давайте создадим буферизированный писатель с размером буфера 5 байт и запишем строку, которая превышает размер буфера:

package main import ( "bufio" "os" ) func main() { writer := bufio.NewWriterSize(os.Stdout, 5) writer.WriteString("12345") writer.Flush() }

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

"12345"

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

  • функцию bufio.NewWriter,
    которая создает буферизированный писатель с размером буфера по умолчанию
  • функцию bufio.Writer.WriteString,
    которая записывает строку в буферизированный писатель
  • функцию bufio.Writer.Flush,
    которая сбрасывает буфер в поток вывода
  • функцию bufio.NewReaderSize,
    которая создает буферизированный читатель с заданным размером буфера
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить