Реализация пользовательского io.Writer
Код ниже показывает, как реализовать пользовательский io.Writer вызов chanWriter, который записывает свое содержимое в канал Go в виде последовательности байтов.
Пришло время поработать с кодом!
Чтобы использовать writer, код просто вызывает метод writer.Write() (в отдельной горутине) в функции main(). Поскольку chanWriter также реализует интерфейс io.Closer, метод writer.Close() вызывается для правильного закрытия канала, чтобы избежать взаимоблокировки при доступе к каналу.