Funzione anonima di Golang

Funzione anonima di Golang

Un anonimo si riferisce a una funzione che non ha un nome. Questo tipo di funzione è anche noto come funzione letterale o una funzione Lambda in altri linguaggi di programmazione.

Go ti consente di creare funzioni in linea o anonime per l'uso a breve termine come mostreremo in questo tutorial.

Golang dichiara funzione anonima

Possiamo dichiarare una funzione anonima in GO come faremmo quando dichiariamo una funzione normale.

Ad esempio, il codice seguente crea una funzione anonima all'interno della funzione principale.

Pacchetto principale
Importa "FMT"
func main ()
func ()
fmt.Println ("Non ho un nome")

Golang invoca la funzione anonima

Una volta dichiarata una funzione anonima, possiamo invocare immediatamente, come mostrato nell'esempio seguente:

Pacchetto principale
Importa "FMT"
func main ()
func ()
fmt.Println ("Non ho un nome")
() // invoca func

Il codice sopra deve eseguire il codice all'interno della funzione anonima e restituire la stringa come:

$ go run anonymous_functions.andare
Non ho un nome

La funzione anonima di Golang Assegna variabile

Possiamo anche assegnare una funzione anonima a una variabile e chiamarla usando il nome della variabile. Considera l'esempio seguente:

Pacchetto principale
Importa "FMT"
func main ()
str: = func ()
fmt.Println ("hi")

STR ()

Nell'esempio sopra, creiamo una variabile chiamata "STR" e la assegniamo a una funzione anonima. Possiamo utilizzare il nome della variabile per chiamare la funzione.

Golang passa argomenti alla funzione anonima

Come una funzione tipica in GO, possiamo passare un numero qualsiasi di argomenti (di qualsiasi tipo) a una funzione anonima come mostrato nel codice di esempio seguente:

Pacchetto principale
Importa "FMT"
func main ()
func (a float64)
fmt.Printf ("risultato: %f", a*3.141)
(7.0)

Nell'esempio sopra, passiamo un argomento di tipo Float64 a una funzione anonima. Una volta che chiamiamo la funzione, passiamo l'argomento richiesto.

Il codice sopra ritorna:

Risultato: 21.987000

Golang restituisce la funzione anonima da un'altra funzione

Go ti consente anche di restituire una funzione anonima da un'altra funzione. Un esempio è come mostrato nel codice seguente:

Pacchetto principale
Importa "FMT"
func main ()
anon_func: = func () func (x int)
risultato: = func (x int)
fmt.Println ("risultato:", x)

risultato di ritorno

y: = anon_func ()
y (2)

Il codice sopra restituisce 2.

Conclusione

Questa guida ti porta attraverso le basi del lavoro con funzioni anonime nel linguaggio di programmazione Go.