Maison >développement back-end >Golang >Go prend-il en charge les expressions Lambda ?

Go prend-il en charge les expressions Lambda ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-19 10:40:08557parcourir

Does Go Support Lambda Expressions?

Expressions lambda dans Go

Q : Savez-vous si Go prend en charge les expressions lambda ?

R : Oui, Go prend en charge les expressions lambda, également appelées fonctions anonymes. Il s'agit d'une fonction anonyme qui peut être définie et utilisée sans déclaration formelle. Dans Go, les expressions lambda sont définies à l'aide de la syntaxe :

func (parameters) (return type) { code }

Voici un exemple :

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())
}

Dans cet exemple, foo() est une fonction nommée standard et la fonction sans nom attribués à f et baz sont des exemples d'expressions lambda.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn