Le funzioni anonime in Go sono molto utili. Di seguito sono riportati la sintassi, l'utilizzo e l'esempio di utilizzo della funzione anonima in Golang .

Una funzione anonima è una funzione che non ha nome. È utile quando si desidera creare una funzione inline. In Go, anche le funzioni anonime possono formare una chiusura. Le funzioni anonime sono anche chiamate letterali di funzione.
Per esempio:
package main
import "fmt"
func main() {
// Hàm ẩn danh
func() {
fmt.Println("Welcome! to Quantrimang.com")
}()
}
Risultato:
Welcome! to Quantrimang.com
Sintassi:
func(parameter_list)(return_type) {
// code..
// Dùng lệnh return nếu return_type được đưa ra
// nếu return_type không được cung cấp, thì không
// dùng lệnh return
return
}()
Assegna una variabile
È possibile assegnare una funzione anonima a una variabile. Questa variabile può quindi essere chiamata come una normale funzione.
package main
import "fmt"
func main() {
// Gán một hàm ẩn danh cho một biến
value := func() {
fmt.Println("Welcome! to Quantrimang.com")
}
value()
}
Risultato:
Welcome! to Quantrimang.com
Passa come argomento
È anche possibile passare una funzione anonima come argomento a un'altra funzione.
package main
import "fmt"
// Chuyển hàm ẩn danh làm đối số
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)
}
Risultato:
GeeksforGeeks
Restituisce la funzione anonima
È possibile restituire una funzione anonima da un'altra funzione.
package main
import "fmt"
// Trả về hàm ẩn danh
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 "))
}
Risultato:
Welcome to GeeksforGeeks
Concludere
Le funzioni anonime in Golang sono molto flessibili e potenti. Possono essere utilizzati per creare funzioni inline, chiusure e persino per passare e restituire funzioni. Capire come usarli in modo efficace può migliorare significativamente le tue capacità di programmazione in Go.