English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
El lenguaje Go proporciona una función especial llamada función anónima. Una función anónima es una función que no contiene ningún nombre. Esta función es muy útil cuando necesitas crear una función en línea. En el lenguaje Go, las funciones anónimas pueden formar un cierre. Las funciones anónimas también se conocen comoLínea de función.
Sintaxis:
func(parameter_list) return_type { //Código //Si se proporciona return_type, se usa la instrucción return //Si no se proporciona return_type, no //Uso de la instrucción return devolver }()
paquete main import "fmt" func main() { //Una función anónima func() { fmt.Println("Bienvenido! a oldtoolbag.com" }() }
Salida:
Bienvenido! a oldtoolbag.com
Puntos importantes:
En el lenguaje Go, puedes asignar una función anónima a una variable. Al asignar una función a una variable, el tipo de la variable es el tipo de función, puedes llamar a la variable como si fuera una función, como se muestra en el siguiente ejemplo.
paquete main import "fmt" func main() { // Asignar una función anónima a una variable value := func() { fmt.Println("Bienvenido! a oldtoolbag.com" } value() }
Salida:
Bienvenido! a oldtoolbag.com
También puedes pasar parámetros en una función anónima.
paquete main import "fmt" func main() { //Pasar parámetros en una función anónima func(ele string) { fmt.Println(ele) }("w3codebox" }
Salida:
w3codebox
También puedes pasar una función anónima como parámetro a otras funciones.
paquete main import "fmt" //Una función anónima como parámetro func GFG(i func(p, q string) string) { fmt.Println(i("Geeks", "for")) } func main() { value := func(p, q string) string { devolver p + q + "Geeks" } GFG(value) }
Salida:
w3codebox
También puedes devolver una función anónima desde otra función.
paquete main import "fmt" //devolver una función anónima func GFG() func(i, j string) string { miF := func(i, j string) string { devolver i + j + "w3codebox" } devolver miF } func main() { value := GFG() fmt.Println(value("Bienvenido a", " ")) }
Salida:
Bienvenido a w3codebox