回答

收藏

Go 有 lambda 表达式或类似的东西吗?

技术问答 技术问答 608 人阅读 | 0 人回复 | 2023-09-11

Go 是否支持 lambda 表达式或类似的东西?
/ F4 V4 P; I* t9 m3 @; e5 k& s& q6 A我想用另一种 lambda 表达式 (Ruby) 语言移植库。
* K' T( E, K: [' P( K  A: O/ ?+ i9 k                                                               
4 N5 k& j7 l, J% z    解决方案:                                                               
0 G1 Y4 b/ O( _9 p5 k                                                                [code]package mainimport fmt "fmt"type Stringy func() stringfunc 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()code]
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则