package main import ( "fmt" "github.com/BenLubar/memoize" ) func main() { var factorial func(n int) int factorial = func(n int) int { fmt.Printf("call factorial: %d\n", n) if n == 1 { return 1 } else { return n * factorial(n-1) } } factorial = memoize.Memoize(factorial).(func(int) int) fmt.Println(factorial(4)) fmt.Println(factorial(6)) }