当前位置:网站首页>读了一篇博客,重新理解闭包整理一下

读了一篇博客,重新理解闭包整理一下

2022-04-23 13:59:00 面试被拒1万次

 写业务的时候很少用到闭包,也没有仔细理解,看到一个博客写闭包写的不错就理解一下,整理一下方便自己理解:

引用:https://blog.csdn.net/albertsh/article/details/82906284

print("\nexample 1:");
function counter()
    local count = 0;
    return function()
        count = count + 1;
        return count;
    end
end

func = counter();
--  这里的实质是 func = function() count = count + 1 return count end
--  以后每次调用 func() 都是调用这个 函数
-- 这是一个标准的计数器,也是一个标准的闭包,也就是说Lua支持这样的语法,闭包中可以在定义之后一直引用外部的变量,并且在返回函数的整个使用生命周期内都可以引用这个变量,加入外部修改了这个变量,闭包中引用的值也会改变

print(func());
print(func());
print(func());

 

版权声明
本文为[面试被拒1万次]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_38023160/article/details/82970135