Когда вам нужно записать одинаковый данных для нескольких целевых пунктов назначения, например, в лог файл и в STDERR, то можно воспользоваться инструментами встроенного пакета io. В данной инструкции показано, как реализовать мгновенную запись данных в нескольких ресурсах.

Дублирование записи в нескольких ресурсах записи

1. Создайте файл multiwr.go со следующим содержимым:

Премиум 👑 курс по Golang

Рекомендуем вам супер курс по Golang где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании! 😎

Записаться на курс

Уроки, статьи и Видео

Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

Go в ВК Go в Telegram

2. Запустите код через go run multiwr.go;
3. Посмотрите на результат в консоли:

4. Также проверьте содержимое созданного файла sample.txt:

Как работает MultiWriter из пакета io?

Пакет io содержит функцию MultiWriter с переменным количеством ресурсов для записи. Когда вызывается метод WriteString, тогда данные записываются для всех добавленных в io.MultiWriter(первый, второй, ...) открытых ресурсов для записи.