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

Функция io.ReadAll

Функция io.ReadAll читает все данные из io.Reader до тех пор, пока не встретит конец файла (EOF) или не произойдет ошибка. Она возвращает слайс байтов и ошибку. В качестве первого параметра функция принимает интерфейс io.Reader, из которого будет производиться чтение. Возвращает функция два значения: слайс байтов и ошибку. Если чтение прошло успешно, ошибка будет равна nil.

Синтаксис

io.ReadAll(reader)

Пример

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

package main import ( "io" "strings" "fmt" ) func main() { str := "abcde" reader := strings.NewReader(str) res, err := io.ReadAll(reader) if err != nil { fmt.Println(err) return } fmt.Printf("res: %s\n", res) }

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

"res: abcde"

Пример

Давайте прочитаем данные из пустого ридера:

package main import ( "io" "strings" "fmt" ) func main() { reader := strings.NewReader("") res, err := io.ReadAll(reader) if err != nil { fmt.Println(err) return } fmt.Printf("res: %s, len: %d\n", res, len(res)) }

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

"res: , len: 0"

Пример

Давайте прочитаем данные из файла с помощью os.Open:

package main import ( "io" "os" "fmt" ) func main() { file, err := os.Open("example.txt") if err != nil { fmt.Println(err) return } defer file.Close() res, err := io.ReadAll(file) if err != nil { fmt.Println(err) return } fmt.Printf("res: %s\n", res) }

Результат выполнения кода (при условии, что файл содержит текст "hello world"):

"res: hello world"

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

  • функцию io.ReadAtLeast,
    которая читает как минимум указанное количество байт
  • функцию io.ReadFull,
    которая читает ровно указанное количество байт
  • функцию io.Copy,
    которая копирует данные из ридера в райтер
  • функцию os.ReadFile,
    которая читает содержимое файла целиком
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить