Полезные типы и пакеты для ввода-вывода: 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 представляет дескрипторы файлов для стандартного вывода, ввода и ошибки ОС соответственно. Например, следующий фрагмент исходного кода печатается прямо в стандартный вывод.
Пришло время поработать с кодом!