哈希图 总览 Golang无锁无线程安全HashMap,针对最快的读取访问进行了优化。 用法 为地图中的键设置值: m := &HashMap{} m.Set("amount", 123) 从地图中读取键的值: amount, ok := m.Get("amount") 使用地图来计数URL请求: var i int64 actual, _ := m.GetOrInsert("api/123", &i) counter := (actual).(*int64) atomic.AddInt64(counter, 1) // increase counter ... count := atomic.LoadInt64(counter) // read counter 基准测试 以线程安全的方式从哈希映射中进行读取的速度几乎与以不安全的方式从标准Golang映射中进行读取的速度相同,是Go的sync.Map的sync.Map 。 BenchmarkReadHashMapUint-8 200000 6830 ns/op Benchmark