diff --git a/Golang Programs/recursion.go b/Golang Programs/recursion.go new file mode 100644 index 0000000..6f97305 --- /dev/null +++ b/Golang Programs/recursion.go @@ -0,0 +1,26 @@ +package main + +import "fmt" + +func fact(n int) int { + if n == 0 { + return 1 + } + return n * fact(n-1) +} + +func main() { + fmt.Println(fact(7)) + + var fib func(n int) int + + fib = func(n int) int { + if n < 2 { + return n + } + return fib(n-1) + fib(n-2) + + } + + fmt.Println(fib(7)) +}