Junior — Middle
Explain what recursive functions mean in programming and how they work.
sobes.tech AI
Answer from AI
A recursive function is a function that calls itself to solve a problem. In programming, recursion is used to break down a complex problem into simpler subproblems of the same type.
Working principle:
- The function calls itself with a modified argument, bringing the solution closer to the base case.
- The base case is a condition where recursion stops to avoid infinite calls.
Example in Go — calculating the factorial of a number:
package main
import "fmt"
func factorial(n int) int {
if n == 0 {
return 1 // base case
}
return n * factorial(n-1) // recursive call
}
func main() {
fmt.Println(factorial(5)) // 120
}
Recursion is convenient for working with trees, graphs, and dividing tasks, but requires caution to avoid stack overflow.