Go programs rarely use a single channel. One very common technique that uses multiple channels is called a pipeline. So, a pipeline is a method for connecting goroutines so that the output of a goroutine becomes the input of another with the help of channels. The benefits of using pipelines are as follows:
- One of the benefits you get from using pipelines is that there is a constant flow in your program because nobody waits for everything to be completed in order to start the execution of goroutines and channels of the program
- Additionally, you are using less variables and therefore less memory space because you do not have to save everything
- Last, the use of pipelines simplifies the design of the program and improves its maintainability
The code of pipelines.go, which works with a pipeline of integers, will be presented in five parts; the first part is the following...