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

bufio.Reader.ReadByte

Метод ReadByte типа bufio.Reader читает один байт из буфера и возвращает его как значение типа byte. Если в буфере нет данных, метод пытается заполнить буфер из источника (например, из файла или сетевого соединения). Метод возвращает прочитанный байт и ошибку error, которая будет равна io.EOF при достижении конца входных данных.

Синтаксис

func (b *Reader) ReadByte() (byte, error)

Пример

Давайте прочитаем первый байт из строки, используя strings.NewReader и bufio.NewReader:

package main import ( "bufio" "fmt" "strings" ) func main() { r := bufio.NewReader(strings.NewReader("abcde")) b, err := r.ReadByte() if err != nil { fmt.Println("Error:", err) return } fmt.Printf("Read byte: %c\n", b) }

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

"Read byte: a"

Пример

Давайте прочитаем все байты из строки последовательно, пока не достигнем конца данных:

package main import ( "bufio" "fmt" "io" "strings" ) func main() { r := bufio.NewReader(strings.NewReader("12345")) for { b, err := r.ReadByte() if err == io.EOF { break } if err != nil { fmt.Println("Error:", err) return } fmt.Printf("%c ", b) } fmt.Println() }

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

"1 2 3 4 5 "

Пример

Метод ReadByte также позволяет читать байты из файла. Давайте создадим пример чтения первых трех байт из временного файла:

package main import ( "bufio" "fmt" "os" ) func main() { file, err := os.Open("example.txt") if err != nil { fmt.Println("Error opening file:", err) return } defer file.Close() r := bufio.NewReader(file) for i := 0; i < 3; i++ { b, err := r.ReadByte() if err != nil { fmt.Println("Error reading byte:", err) return } fmt.Printf("%c ", b) } fmt.Println() }

Предположим, файл example.txt содержит строку "hello". Результат выполнения кода:

"h e l "

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

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