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
            相关文章
            相关标签/搜索
            每日一句
              每一个你不满意的现在,都有一个你没有努力的曾经。
            公众号推荐
               一个历史类的公众号,欢迎关注
            一两拨千金
            白小姐四肖必选一肖四不像