ホームページ >バックエンド開発 >Golang >Go はラムダ式をサポートしますか?

Go はラムダ式をサポートしますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-19 10:40:08519ブラウズ

Does Go Support Lambda Expressions?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。