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

Функция bufio.NewReader

Функция bufio.NewReader создает новый объект Reader, который использует буфер для чтения данных из указанного источника. В качестве единственного параметра она принимает интерфейс io.Reader, например, файл или сетевое соединение. Буферизация позволяет уменьшить количество системных вызовов и ускорить чтение данных.

Синтаксис

bufio.NewReader(rd io.Reader) *bufio.Reader

Пример

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

package main import ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) fmt.Print("Enter text: ") text, _ := reader.ReadString('\n') fmt.Println("You entered:", text) }

Результат выполнения кода при вводе пользователем "hello world":

"Enter text: hello world" "You entered: hello world\n"

Пример

Давайте используем bufio.NewReader для чтения данных из строки с помощью strings.NewReader:

package main import ( "bufio" "fmt" "strings" ) func main() { data := "abcde\nfghij\nklmno" reader := bufio.NewReader(strings.NewReader(data)) line, err := reader.ReadString('\n') fmt.Printf("Line 1: %q", line) line, err = reader.ReadString('\n') fmt.Printf("Line 2: %q", line) remaining, _ := reader.ReadString('\n') fmt.Printf("Remaining: %q", remaining) }

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

"Line 1: \"abcde\\n\"" "Line 2: \"fghij\\n\"" "Remaining: \"klmno\""

Пример

Давайте используем метод Peek для просмотра данных без их извлечения:

package main import ( "bufio" "fmt" "strings" ) func main() { reader := bufio.NewReader(strings.NewReader("abcde")) peeked, _ := reader.Peek(3) fmt.Println("Peeked:", string(peeked)) read, _ := reader.ReadByte() fmt.Println("Read:", string(read)) }

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

"Peeked: abc" "Read: a"

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

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