Skip to content

Реализация пользовательского io.Writer

Код ниже показывает, как реализовать пользовательский io.Writer вызов chanWriter, который записывает свое содержимое в канал Go в виде последовательности байтов.

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

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