猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
Go是否具有lambda表达式或类似内容?
Go是否支持lambda表达式或类似内容?
我想从使用lambda表达式(Ruby)的另一种语言移植库。
饮歌长啸
浏览 517
回答 3
3回答
哆啦的时光机
是的在计算机编程中,匿名函数或lambda抽象(函数文字)是未绑定到标识符的函数定义,并且Go支持可以形成闭包的匿名函数。当您想要内联定义函数而不必命名时,匿名函数很有用。 package main import "fmt" func intSeq() func() int { i := 0 return func() int { i += 1 return i } } func main() { nextInt := intSeq() fmt.Println(nextInt()) fmt.Println(nextInt()) fmt.Println(nextInt()) newInts := intSeq() fmt.Println(newInts()) }函数intSeq返回另一个函数,我们在intSeq主体中匿名定义。该返回的函数关闭在变量i以形成闭合。Output$ go run closures.go1231
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Go
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续