查看: 31|回复: 1

Lua 进阶核心——闭包与 Upvalue

[复制链接]

48

主题

75

回帖

1991

积分

金牌会员

积分
1991
QQ
发表于 2026-5-28 14:25:41 | 显示全部楼层 |阅读模式
闭包 = 函数 + 它捕获的外部局部变量(Upvalue)
特点:变量持久化、私有化、工厂函数。


示例:独立计数器
function makeCounter()
  local count = 0  -- 私有变量
  return function()
    count = count + 1
    return count
  end
end

local c1 = makeCounter()
local c2 = makeCounter()
print(c1(), c1(), c2())  --> 1 2 1
实战用途:状态管理、限流、缓存、单次执行函数。



0

主题

58

回帖

1350

积分

金牌会员

积分
1350
发表于 2026-5-28 16:07:31 | 显示全部楼层
收藏了,谢谢分享!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表