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

Метод bufio.Writer.Write

Метод bufio.Writer.Write записывает байты в буфер буферизированного писателя. Первым параметром он принимает срез байт ([]byte) для записи. Метод возвращает количество записанных байт и ошибку, если она возникла. Важно помнить, что данные не будут записаны в нижележащий поток, пока не будет вызван метод Flush.

Синтаксис

func (b *bufio.Writer) Write(p []byte) (n int, err error)

Пример

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

package main import ( "bufio" "fmt" "os" ) func main() { writer := bufio.NewWriter(os.Stdout) data := []byte("Hello, World!") res, err := writer.Write(data) if err != nil { fmt.Println("Error:", err) } fmt.Println("\nBytes written:", res) writer.Flush() }

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

"Hello, World!" "Bytes written: 13"

Пример

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

package main import ( "bufio" "fmt" "os" ) func main() { writer := bufio.NewWriter(os.Stdout) writer.Write([]byte("First ")) writer.Write([]byte("Second ")) writer.Write([]byte("Third")) writer.Write([]byte("\n")) writer.Flush() }

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

"First Second Third"

Пример

Рассмотрим случай, когда нужно записать данные в файл с помощью буферизированного писателя:

package main import ( "bufio" "fmt" "os" ) func main() { file, err := os.Create("example.txt") if err != nil { fmt.Println("Error creating file:", err) return } defer file.Close() writer := bufio.NewWriter(file) data := []byte("Hello from bufio.Writer") res, err := writer.Write(data) if err != nil { fmt.Println("Error writing:", err) return } writer.Flush() fmt.Println("Bytes written to file:", res) }

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

"Bytes written to file: 23"

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

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