November 2017
Intermediate to advanced
670 pages
17h 35m
English
Back to main.go. This time, you'll be introduced to the Map HOF. Whereas Filter acts to reduce the number of items in the resulting collection, Map will return the same number of items that it receives. The Map function transforms the collection into a new collection, where each item is changed in some way:
PrintCars("Numeric, Foreign, Map Upgraded", cars.Filter(ByHasNumber()). Filter(ByForeign()). Map(Upgrade()))
Here's the output of this:
Numeric, Foreign, Map Upgraded-----------------------car: Honda Accord ES2 LXcar: Lexus IS250 LScar: Lexus SC 430 LScar: Toyota 86 EVcar: Toyota RAV4 EV
We pass a MapFunc function named Upgrade to Map:
func Upgrade() MapFunc { return func(car string) string { return fmt.Sprintf("%s %s" ...