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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go