Рубрики
Uncategorized

Голанг: трубопровод IO и трансляция

Как вы загружаете файл в несколько пунктов назначения одновременно?

Автор оригинала: Hau Ma Van.

Как вы загружаете файл в несколько пунктов назначения одновременно?

Я познакомимся с вами, ребята, Goalang IO трубопровод и IO Copier, чтобы сделать это

добыча Трубка

Иди труба изготовила «трубу», которая писала в писатель, выйдет на читатель

reader, writer := io.Pipe()

Вещатель

Связанный канал Broadcaster можно найти в https://github.com/hauxe/gom/tree/master/broadcast.

broadcaster := broadcast.NewBroadcaster()

Мы будем широким литьем в файл и stdout, поэтому создайте два слушателя для вещателей

fileComsumer, err := broadcaster.Listen()

if err != nil {

panic(err)

}

stdoutComsumer, err := broadcaster.Listen()

if err != nil {

panic(err)

}

добыча Teereader.

В функции записи мы используем Teereader для записи в пункт назначения и принять копию читателя для трансляции на следующий слушатель

Обратите внимание, что вы должны выполнить окончательный прочитанный на Final Teereader, чтобы вызвать трубопровод IO

Полные рабочие коды:

Оригинал: «https://www.codementor.io/@hau12a1/golang-io-pipeline-and-broadcast-ltxsaopw3»