每天五分钟Go - 闭包

闭包的示例代码

func getSequence() func() int{
    i:=0
    return func() int {
        i+=1
        return i
    }
}

首先,函数名getSequence,函数的返回的类型func() int{},而在返回的函数中定义了一个局部变量,这个变量的作用域只属于返回的这个函数
比如,下面的代码

sequence1,sequence2 := getSequence(),getSequence()

其中sequence1sequence2都拥有一个内部变量i,这俩变量互不影响

猜你喜欢

转载自www.cnblogs.com/hitechr/p/10546027.html