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

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

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

Форум Гоферов

Мы работаем над форумом для программистов на Golang. Очень нужны модераторы которые хотят помочь с ответами для новичков и помочь в развитии Go-сообщества.

Go на Форум

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

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

Go в ВК Go в Telegram

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

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

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

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

 

Понравилась статья?

Поддержи наш проект, чтобы мы могли создать больше хорошего контента!