Função anônima de Golang

Função anônima de Golang

Um anônimo refere -se a uma função que não tem um nome. Esse tipo de função também é conhecido como função literal ou uma função lambda em outras linguagens de programação.

GO permite que você crie funções em linha ou anônimas para uso a curto prazo, como mostraremos neste tutorial.

Golang declare função anônima

Podemos declarar uma função anônima em Go da mesma maneira que faríamos ao declarar uma função normal.

Por exemplo, o código abaixo cria uma função anônima dentro da função principal.

Pacote principal
importar "fmt"
func main ()
func ()
fmt.Println ("Eu não tenho nome")

Golang invoca função anônima

Depois de declararmos uma função anônima, podemos invocar imediatamente, conforme mostrado no exemplo abaixo:

Pacote principal
importar "fmt"
func main ()
func ()
fmt.Println ("Eu não tenho nome")
() // Invoque func

O código acima deve executar o código dentro da função anônima e retornar a string como:

$ go run anonymous_functions.ir
Eu não tenho nome

Função anônima de Golang atribui variável

Também podemos atribuir uma função anônima a uma variável e chamá -la usando o nome da variável. Considere o exemplo abaixo:

Pacote principal
importar "fmt"
func main ()
str: = func ()
fmt.Println ("oi")

str ()

No exemplo acima, criamos uma variável chamada "str" ​​e a atribuímos a uma função anônima. Podemos usar o nome da variável para chamar a função.

Golang passa argumentos para a função anônima

Como uma função típica em Go, podemos passar qualquer número de argumentos (de qualquer tipo) para uma função anônima, como mostrado no código de exemplo abaixo:

Pacote principal
importar "fmt"
func main ()
func (um float64)
fmt.Printf ("Resultado: %f", a*3.141)
(7.0)

No exemplo acima, passamos um argumento do tipo Float64 para uma função anônima. Depois de chamarmos a função, passamos o argumento requisito.

O código acima retorna:

Resultado: 21.987000

Golang retorna função anônima de outra função

GO também permite que você retorne uma função anônima de outra função. Um exemplo é como mostrado no código abaixo:

Pacote principal
importar "fmt"
func main ()
anon_func: = func () func (x int)
Resultado: = func (x int)
fmt.Println ("resultado:", x)

resultado de retorno

y: = anon_func ()
y (2)

O código acima retorna 2.

Conclusão

Este guia leva você através do básico de trabalhar com funções anônimas na linguagem de programação Go.