回答

收藏

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

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

Go 是否支持 lambda 表达式或类似的东西?
: G; @+ i: l# Z, F6 R7 j) b我想用另一种 lambda 表达式 (Ruby) 语言移植库。; u3 p( V7 a0 ~) H$ n9 p7 I1 ^
                                                                  ~+ G7 |. F: O. H% P& O& m' V9 [0 b
    解决方案:                                                                . _6 r3 f, Y- Y8 }
                                                                [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]
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则