La recursión es un proceso en el que una función se llama a sí misma implícita o explícitamente y la función correspondiente se llama función recursiva. El lenguaje Go admite una característica especial llamada función anónima . Es una función que no contiene ningún nombre. Se utiliza para crear una función en línea. Las funciones recursivas también se pueden declarar y definir como anónimas. Una función anónima recursiva también se conoce como literal de función recursiva .
Sintaxis:
func(parameter-list)(return-type){ // code.. // call same function // within the function // for recursion // Use return statement only // if return-type are given. return }()
Ejemplo:
// 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() }
Producción:
Anonymous functions could be recursive. Anonymous functions could be recursive. Anonymous functions could be recursive. Anonymous functions could be recursive. . . . . Infinite times function calls.
Ejemplo 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) }
Producción:
10 9 8 7 6 5 4 3 2 1 0 Welcome to Geeks for Geeks!
Publicación traducida automáticamente
Artículo escrito por shivamraj74 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA