Пакет io: цепочка reader’ов
В стандартной библиотеке уже реализовано много программ чтения. Распространенной идиомой является использование reader’а в качестве источника другого reader’a. Эта цепочка reader’ов позволяет одному reader’у повторно использовать логику другого, как это сделано в следующем исходном фрагменте, который обновляет элемент alphaReader, чтобы принять его в io.Reader качестве источника. Это снижает сложность кода, перекладывая задачи управления потоком на корневого reader’а.
Пришло время поработать с кодом!
Еще одним преимуществом этого подхода является то, что alphaReader теперь возможно чтение из любой реализации reader’а. Например, следующий фрагмент кода показывает, как alphaReader можно объединить с os.File источником для фильтрации неалфавитных символов из файла.
Пришло время поработать с кодом!