November 2017
Intermediate to advanced
670 pages
17h 35m
English
Our clock functor comprises a structure (an int slice) that holds 12 hours and a Map method that accepts a mapper function that is used to transform each of the 12 hours into the subsequent set of 12 hours (AM/PM). Each time the Map method is executed, it returns a new functor; because of this feature, we can chain our Map method calls.
In other words, have a look at the following example:
Functor([]int{1, 2, 3}).Map(mapperFn).Map(mapperFn))
We see that with functors, we wrap and Map (and can chain our maps).