回答

收藏

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

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

Go 是否支持 lambda 表达式或类似的东西?* W* G) g0 f  U4 J
我想用另一种 lambda 表达式 (Ruby) 语言移植库。! m1 j* f$ c$ b# ~; n& F; W
                                                               
/ Q( ?. p! k. Y3 g3 A5 m5 A    解决方案:                                                                * {' b# k1 \, I) b& v; q: U7 ~! p
                                                                [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]
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则