查看: 32|回复: 0

Lua 进阶核心——弱表(weak table)

[复制链接]

48

主题

75

回帖

1991

积分

金牌会员

积分
1991
QQ
发表于 2026-5-28 14:27:07 | 显示全部楼层 |阅读模式
作用:不影响 GC,用于做缓存、对象池、事件监听,避免内存泄漏。
三种模式:


  • __mode = "k" 键弱引用
  • __mode = "v" 值弱引用
  • __mode = "kv" 键值都弱
  • local wt = {}
    setmetatable(wt, {__mode = "v"})
    local obj = {data = "test"}
    wt.ref = obj
    
    obj = nil
    collectgarbage()
    print(wt.ref)  --> nil


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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