Lambda-Ausdrücke in Go
F: Wissen Sie, ob Go Lambda-Ausdrücke unterstützt?
A: Ja, Go unterstützt Lambda-Ausdrücke, auch anonyme Funktionen genannt. Es handelt sich um eine anonyme Funktion, die ohne formale Deklaration definiert und verwendet werden kann. In Go werden Lambda-Ausdrücke mithilfe der Syntax definiert:
func (parameters) (return type) { code }
Hier ist ein Beispiel:
package main import fmt "fmt" type Stringy func() string func foo() string { return "Stringy function" } func takesAFunction(foo Stringy) { fmt.Printf("takesAFunction: %v\n", foo()) } func returnsAFunction() Stringy { return func() string { fmt.Printf("Inner stringy function\n") return "bar" // have to return a string to be stringy } } func main() { takesAFunction(foo) var f Stringy = returnsAFunction() f() var baz Stringy = func() string { return "anonymous stringy\n" } fmt.Printf(baz()) }
In diesem Beispiel ist foo() eine standardmäßige benannte Funktion und die unbenannte Funktion f und baz zugewiesen sind Beispiele für Lambda-Ausdrücke.
Das obige ist der detaillierte Inhalt vonUnterstützt Go Lambda-Ausdrücke?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!