2017-12-29 14 views
-1

In C# können wir etwas wie folgt mit Lambda-Ausdruck schreiben, wie können wir das in GO-Sprache erreichen? Grundsätzlich suche ich nach einer Fähigkeit, einige Parameter an die Funktion im Voraus und einige Params später, wenn sie verfügbar sind, zu übergeben.Lambda Expressions in GO Sprache

myFunc = (x) => Test(123, x) // Method Test is declared below. 
myFunc("hello") // this calls method Test with params int 123 & string "hello" where int was passed upfront whereas string was passed when Test is actually called on this line 

void Test(int n, string x) 
{ 
    // ... 
} 
+3

Ich denke, diese Frage beantwortet wurde [hier] (https://stackoverflow.com/questions/11766320/does-go-have- Lambda-Ausdrücke oder irgendetwas ähnliches. –

Antwort

3

versuchen Sie dies:

func Test(n int, x string) { 
    fmt.Println(n, x) 
} 
func main() { 
    myFunc := func(x string) { Test(123, x) } 
    myFunc("hello") 
} 

playground