Lambda-Ausdruck in Golang
Lambda-Ausdrücke scheinen in Golang nicht zu existieren. Ein Funktionsliteral, eine Lambda-Funktion oder ein Abschluss ist ein anderer Name für eine anonyme Funktion.
Aus der mathematischen Auswertung eines Ausdrucks im Lambda-Kalkül entstand die Idee der Schließung. Es gibt einen technischen Unterschied zwischen einer anonymen Funktion und einer Closure: Eine anonyme Funktion ist eine Funktion ohne Namen, während eine Closure eine Funktionsinstanz ist.
In diesem Artikel sehen wir uns an, wie man einen Lambda-Ausdruck in Go erstellt.
Rückgabewert einer anonymen Funktion in Go
In diesem Beispiel wurde der Summenvariablen die anonyme Funktion func(n1,n2 int) int
gegeben. Die Summe von n1
und n2
wird von der Funktion berechnet und zurückgegeben.
Beispiel:
package main
import "fmt"
func main() {
var sum = func(n1, n2 int) int {
sum := n1 + n2
return sum
}
result := sum(5, 3)
fmt.Println("Sum is:", result)
}
Ausgang:
Sum is: 8
Rückgabebereich mit anonymer Funktion in Go
In diesem Beispiel gibt die anonyme Funktion den Bereich von l*b
zurück.
package main
import "fmt"
var (
area = func(l int, b int) int {
return l * b
}
)
func main() {
fmt.Println(area(10, 10))
}
Ausgang:
100