Go のラムダ式
Q: Go がラムダ式をサポートしているか知っていますか?
A: はい、Go匿名関数とも呼ばれるラムダ式をサポートしています。これらは、正式な宣言なしで定義および使用できる匿名関数です。 Go では、ラムダ式は次の構文を使用して定義されます:
func (parameters) (return type) { code }
例は次のとおりです:
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()) }
この例では、 foo() は標準の名前付き関数であり、名前のない関数は foo() です。 f と baz に割り当てられるものはラムダ式の例です。
以上がGo はラムダ式をサポートしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。