Anonyme Funktionen in Go sind sehr nützlich. Hier finden Sie Syntax, Verwendung und Beispiele für die Verwendung anonymer Funktionen in Golang .

Eine anonyme Funktion hat keinen Namen. Sie ist nützlich, wenn Sie eine Inline-Funktion erstellen möchten. In Go können anonyme Funktionen auch einen Abschluss bilden. Anonyme Funktionen werden auch Funktionsliterale genannt.
Zum Beispiel:
package main
import "fmt"
func main() {
// Hàm ẩn danh
func() {
fmt.Println("Welcome! to Quantrimang.com")
}()
}
Ergebnis:
Welcome! to Quantrimang.com
Syntax:
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
}()
Zuweisen einer Variable
Sie können einer Variable eine anonyme Funktion zuweisen. Diese Variable kann dann wie eine normale Funktion aufgerufen werden.
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()
}
Ergebnis:
Welcome! to Quantrimang.com
Als Argument übergeben
Sie können auch eine anonyme Funktion als Argument an eine andere Funktion übergeben.
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)
}
Ergebnis:
GeeksforGeeks
Anonyme Funktion zurückgeben
Sie können eine anonyme Funktion von einer anderen Funktion zurückgeben.
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 "))
}
Ergebnis:
Welcome to GeeksforGeeks
Abschließen
Anonyme Funktionen in Golang sind sehr flexibel und leistungsstark. Sie können zum Erstellen von Inline-Funktionen, Closures und sogar zum Übergeben und Zurückgeben von Funktionen verwendet werden. Das Verständnis ihrer effektiven Nutzung kann Ihre Programmierkenntnisse in Go erheblich verbessern.