Go language proporciona una función especial conocida como función anónima. Una función anónima es una función que no contiene ningún nombre. Es útil cuando desea crear una función en línea. En el lenguaje Go, una función anónima puede formar un cierre. Una función anónima también se conoce como función literal .
Sintaxis:
func(parameter_list)(return_type){ // code.. // Use return statement if return_type are given // if return_type is not given, then do not // use return statement return }()
Ejemplo:
// Go program to illustrate how // to create an anonymous function package main import "fmt" func main() { // Anonymous function func(){ fmt.Println("Welcome! to GeeksforGeeks") }() }
Producción:
Welcome! to GeeksforGeeks
Puntos importantes:
- En el lenguaje Go, puede asignar una función anónima a una variable. Cuando asigna una función a una variable, entonces el tipo de variable es de tipo función y puede llamar a esa variable como una llamada de función como se muestra en el siguiente ejemplo.
Ejemplo:
// Go program to illustrate
// use of an anonymous function
package main
import
"fmt"
func main() {
// Assigning an anonymous
// function to a variable
value := func(){
fmt.Println(
"Welcome! to GeeksforGeeks"
)
}
value()
}
Producción:
Welcome! to GeeksforGeeks
- También puede pasar argumentos en la función anónima.
Ejemplo:
// Go program to pass arguments
// in the anonymous function
package main
import
"fmt"
func main() {
// Passing arguments in anonymous function
func(ele string){
fmt.Println(ele)
}(
"GeeksforGeeks"
)
}
Producción:
GeeksforGeeks
- También puede pasar una función anónima como argumento a otra función.
Ejemplo:
// Go program to pass an anonymous
// function as an argument into
// other function
package main
import
"fmt"
// Passing anonymous function
// as an argument
func GFG(i func(p, q string)string){
fmt.Println(i (
"Geeks"
,
"for"
))
}
func main() {
value:= func(p, q string) string{
return
p + q +
"Geeks"
}
GFG(value)
}
Producción:
GeeksforGeeks
- También puede devolver una función anónima desde otra función.
Ejemplo:
// Go program to illustrate
// use of anonymous function
package main
import
"fmt"
// Returning anonymous function
func GFG() func(i, j string) string{
myf := func(i, j string)string{
return
i + j +
"GeeksforGeeks"
}
return
myf
}
func main() {
value := GFG()
fmt.Println(value(
"Welcome "
,
"to "
))
}
Producción:
Welcome to GeeksforGeeks
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA