• Example15.闭包

    Go 支持通过 闭包来使用 匿名函数。匿名函数在你想定义一个不需要命名的内联函数时是很实用的。

    Example:

    package main
    
    import "fmt"
    
    
    func intfunc() func() int{
        i := 0
        return func() int{
            i += 1
            return i
        }
    }
    
    func main(){
        //注意nextint返回的是一个函数,引用时要带括号,否则是个对象
        nextint := intfunc()
    
        //每次调用返回一个值,有点像python中的生成器。
        fmt.Println(nextint())
        fmt.Println(nextint())
        fmt.Println(nextint())
    
        //重新实例,值从新开始。
        new_next_int := intfunc()
        fmt.Println(new_next_int())
    }

    Result:

    $ go run example.go
    1
    2
    3
    1
    相关文章
    相关标签/搜索
    每日一句
      每一个你不满意的现在,都有一个你没有努力的曾经。
    公众号推荐
       一个历史类的公众号,欢迎关注
    一两拨千金
    王中王鉄算盘开奖结果王中五香港马会全年资枓大全,2019年马会全年资料公开,香港马会免费资枓大全,香港马会资枓大全2019