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:
GO
Output:
GO
Output:
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()
}
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)
}
10 9 8 7 6 5 4 3 2 1 0 Welcome to Geeks for Geeks!