November 2017
Intermediate to advanced
670 pages
17h 35m
English
Chaining continuations means that we can execute a series of functions, where the output of one function is the input of the next. Check out the following example of chaining high-order functions:
cars := LoadCars()for _, car := range cars.Filter(ByHasNumber()). Filter(ByForeign()). Map(Upgrade()). Reduce(JsonReducer(cars), Collection{}) { log.Println(car)}
You will see the following output:
{"car": {"make": "Honda", "model": " Accord ES2 LX"}}{"car": {"make": "Lexus", "model": " IS250 LS"}}{"car": {"make": "Lexus", "model": " SC 430 LS"}}{"car": {"make": "Toyota", "model": " RAV4 EV"}}
How much more code would be required if we were to implement the for loops, error checking, and other scaffolding ...