Recursion
Explore the concept of recursion in Rust functions by understanding how a function can call itself with clear base and recursive cases. This lesson demonstrates recursion through factorial computation, helping you grasp how recursion operates and terminates in Rust programming.
We'll cover the following...
What Is Recursion?
Recursion is a method of function calling in which a function calls itself during execution.
There are problems which are naturally recursively defined. For instance, the factorial of a number is defined as n times the factorial of .
factorial(n) = n * factorial(n-1)
Parts of Recursion
In terms of programming, a recursive function must comprise two parts:
-
Base case
A recursive function must contain a base case. This is a condition for the termination of execution.
-
Recursive case
The function keeps calling itself again and again until the base case is reached.
Example
The following example computes the factorial of a number using recursion:
Note: A factorial is defined only for non-negative integer numbers.
Explanation
-
mainfunctionThe
mainfunction is defined from line 2 to line 7.-
On line 4, a call is made to function
factorialwith an argument passed to the function and the return value is saved in the variablefact. -
On line 6, ...
-