- наш обучающий телеграм канал для Golang разработчиков
- папка с самыми полезными ресурсами для Golang разработчиков
Package bufio предоставляет буферизованные реализации Reader и Writer. Они предоставляют дополнительные методы, добавляющие возможность буферизации к обычным операциям чтения и записи.
Основной тип в пакете bufio - это , который обертывается вокруг других и предоставляет методы для буферизованного чтения данных. Он поддерживает чтение байтов, чтение строк и чтение из буфера до определенного разделителя. Методы Read и ReadString используют внутренний буфер для считывания данных из источника, что делает операции чтения более эффективными по сравнению с непосредственным чтением из источника каждый раз.
Пример использования :
package main
import (
“bufio“
“fmt“
“os“
)
func main() {
file, err := (““)
if err != nil {
(“Error opening file:“, err)
return
}
defer ()
reader := (file)
for {
line, err := (’ ’)
if err != nil {
(“Error reading file:“, err)
return
}
(line)
}
}
Этот пример открывает файл ““ и читает его построчно с использованием . Метод ReadString используется для буферизованного чтения строк из файла до символа новой строки (’ ’). Чтение происходит до тех пор, пока все строки не будут прочитаны.
Пакет bufio также предоставляет , который предоставляет методы для буферизованной записи данных в . Это позволяет уменьшить количество операций записи и повысить эффективность.
Пример использования :
package main
import (
“bufio“
“fmt“
“os“
)
func main() {
file, err := (““)
if err != nil {
(“Error creating file:“, err)
return
}
defer ()
writer := (file)
(“Hello, World! “)
(“This is a test.“)
()
}
В этом примере создается файл ““ и записывается текст, используя буферизованный запись с помощью . Метод WriteString добавляет строку во внутренний буфер, и Flush записывает содержимое буфера в целевой (в нашем случае файл).
Использование и может улучшить производительность операций чтения и записи ввода-вывода, особенно при работе с большими объемами данных.
1,316 view
183
56
2 years ago 00:46:53 37
Уроки по Golang. Advanced. REST API. Вебсервер.
2 years ago 00:28:11 43
Golang с нуля - основы языка программирования! Уроки по golang для начинающих. 101
3 years ago 00:46:11 36
Golang с нуля основы языка программирования! Уроки по golang для начинающих. Часть 2
3 years ago 00:22:14 8
Изучаем Golang. Урок 11. Паники! Panics!
1 year ago 00:02:08 10
Golang урок 2. Пакеты
2 years ago 00:17:29 18
Изучаем Golang. Урок №27. Пакеты (Packages)
2 years ago 00:28:17 19
Уроки по Golang. Advanced. Чистая Архитектура / Clean Architecture Часть 2