This has been an experiment back from 2014. Check out https://github.com/ReactiveX/RxGo for a modern approach ath this.
An experiment in implementing Reactive Programming extensions for Go.
This implementation aim to be fully asyncronous to simplify the use of channels and go routines.
Run go test
.