Skip to content

Полезные типы и пакеты для ввода-вывода: os.File и стандартные типы

Как уже упоминалось, стандартная библиотека Go содержит множество полезных функций и других типов, упрощающих работу с потоковым вводом-выводом.

os.File

Тип os.File представляет файл в локальной системе. Он реализует и то, и другое io.Reader, io.Writer и, следовательно, может использоваться в любых контекстах потокового ввода-вывода. Например, в следующем примере показано, как записывать последовательные срезы строк непосредственно в файл.

Пришло время поработать с кодом!

И наоборот — тип io.File можно использовать в качестве reader’a для потоковой передачи содержимого файла из локальной файловой системы. Например, следующий фрагмент исходного кода читает файл и печатает его содержимое.

Пришло время поработать с кодом!

Стандартный output, input и error

Пакет os предоставляет три переменные: os.Stdout, os.Stdin и os.Stderr, — тип которых *os.File представляет дескрипторы файлов для стандартного вывода, ввода и ошибки ОС соответственно. Например, следующий фрагмент исходного кода печатается прямо в стандартный вывод.

Пришло время поработать с кодом!