Go是否具有lambda表达式或类似内容?
Go是否支持lambda表达式或类似内容?
我想从使用lambda表达式(Ruby)的另一种语言移植库。
回答:
这是一个示例,请仔细复制并粘贴:
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());
}
以上是 Go是否具有lambda表达式或类似内容? 的全部内容, 来源链接: utcz.com/qa/427868.html