一天三盒半 发表于 2026-5-28 14:27:07

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

作用:不影响 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


页: [1]
查看完整版本: Lua 进阶核心——弱表(weak table)