Recursion is a process in which a function calls itself implicitly or explicitly and the corresponding function is called recursive function. Go language supports special feature called anonymous function. It is a function that doesn’t contain any name. It is used to create an inline function. Recursive functions can be declared & defined as anonymous also. A recursive anonymous function is also known as recursive function literal.
Syntax:
func(parameter-list)(return-type){ // code.. // call same function // within the function // for recursion // Use return statement only // if return-type are given. return }()
Example:
// Golang program to show // how to create an recursive // Anonymous function package main
import "fmt"
func main() {
// Anonymous function
var recursiveAnonymous func ()
recursiveAnonymous = func () {
// Printing message to show the
// function call and iteration.
fmt.Println( "Anonymous functions could be recursive." )
// Calling same function
// recursively
recursiveAnonymous()
}
// Main calling of
// the function
recursiveAnonymous()
} |
Output:
Anonymous functions could be recursive. Anonymous functions could be recursive. Anonymous functions could be recursive. Anonymous functions could be recursive. . . . . Infinite times function calls.
Example 2:
// Golang program to show // how to create an recursive // Anonymous function package main
import (
"fmt"
) func main() {
// Anonymous function
var recursiveAnonymous func (int)
// Passing arguments
// to Anonymous function
recursiveAnonymous = func (variable int) {
// Checking condition
// to return
if variable == - 1 {
fmt.Println( "Welcome to Geeks for Geeks!" )
return
} else {
fmt.Println(variable)
// Calling same
// function recursively
recursiveAnonymous(variable - 1 )
}
}
// Main calling
// of the function
recursiveAnonymous( 10 )
} |
Output:
10 9 8 7 6 5 4 3 2 1 0 Welcome to Geeks for Geeks!
Article Tags :