// counter 包示例:线程安全的键值计数器(并发场景下按 key 累加/读取/覆盖) package main import ( "fmt" "sync" "git.zeroonesoft.cn/golib/zogo/counter" ) func main() { var counters counter.Counter counters.Init() // 并发安全计数 var wg sync.WaitGroup for i := 0; i < 100; i++ { wg.Add(1) go func() { defer wg.Done() counters.Incr("pv", 1) }() } wg.Wait() fmt.Println("并发 100 次 Incr 后 pv:", counters.Get("pv")) // Set 覆盖并返回旧值 old := counters.Set("pv", 0) fmt.Println("Set 返回旧值:", old, "新值:", counters.Get("pv")) // 不同 key 相互独立 counters.Incr("uv", 1) fmt.Println("uv:", counters.Get("uv")) }