November 2017
Intermediate to advanced
670 pages
17h 35m
English
We have a new function, BuildPipeline(), which takes a list of filters and connects them using each filter's input and output channels. The BuildPipeline() function lays the pipe, starting with the data source and ending with the sink, that is, the Charge filter:
func main() { pipeline := BuildPipeline(Authenticate{}, Decrypt{}, Charge{})