回答

收藏

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

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

Go 是否支持 lambda 表达式或类似的东西?
9 H6 V, a% F9 e- J我想用另一种 lambda 表达式 (Ruby) 语言移植库。
; E; j( a' t9 o; p3 Y                                                               
5 i; E; x9 n6 C' b  t1 {1 I! B  ?1 g    解决方案:                                                                7 e. V# y& y6 W  z! g6 ?3 A
                                                                [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]
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则