首页 > 其他 > 详细

golang 闭包

时间:2020-03-27 18:20:41      阅读:48      评论:0      收藏:0      [点我收藏+]

go语言中函数也是一种数据类型,也可以像变量一样,操作。下面代码给变量赋值了一个函数

var test = func(a int, b int) (int, float64) {
    return 0, 0
}

func main() {
    test(1, 2)
}

函数也可以当做参数,或者返回值来使用。

func test(f func(i int) int) {
    f(1)

}
func testInner(i int) int {
    fmt.Println(i)
    return i
}
func main() {
    test(testInner)
    return
}

当一个函数的返回值是一个函数的时候,其实叫做闭包。

type testInner func(i int) int

func test() testInner {
    return func(i int) int {
        return 0
    }

}
func main() {
    s := test()
    ret := s(1)
    fmt.Println(ret)
    return
}

 

golang 闭包

原文:https://www.cnblogs.com/Nolover/p/12582767.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!