Skip to content

Instantly share code, notes, and snippets.

@c-yan
Created February 15, 2018 17:05
Show Gist options
  • Save c-yan/e10eaa07aae68a41aafc763f7d501792 to your computer and use it in GitHub Desktop.
Save c-yan/e10eaa07aae68a41aafc763f7d501792 to your computer and use it in GitHub Desktop.
Fibonacci number
package main
import (
"fmt"
"github.com/BenLubar/memoize"
)
func main() {
var fib func(uint64) uint64
fib = func(n uint64) uint64 {
switch {
case n == 0:
return 0
case n == 1:
return 1
default:
return fib(n-1) + fib(n-2)
}
}
fib = memoize.Memoize(fib).(func(uint64) uint64)
fmt.Println(fib(100))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment