Heim >Backend-Entwicklung >Golang >Unterstützt Go Lambda-Ausdrücke?

Unterstützt Go Lambda-Ausdrücke?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-19 10:40:08643Durchsuche

Does Go Support Lambda Expressions?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn