Em ciência da computação, memoize ou memoization é uma técnica de otimização que faz um cache do resultado de uma função com base nos parâmetros passados para ela.
Essa técnica faz com que a execução real da função só aconteça a primeira vez que o parâmetro ou conjunto de parâmetros é passado, pois como fará um cache do resultado, ao receber os mesmos parâmetros, retornará o valor que está armazenado no cache.
Antes de utilizar a técnica, vamos criar duas funções. A Primeira para calcular o fatorial de um número.
func fatorial(n int) int { total := 1 for i := 2; i <= n; i++ { total *= i } return total }Leia mais »