From: qydysky Date: Sat, 20 Feb 2021 05:29:14 +0000 (+0800) Subject: map range bug fix X-Git-Tag: v0.4.5 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=ad4965d3320e74199332de7c5b23982cf996ee30;p=part%2F.git map range bug fix --- diff --git a/map/Map.go b/map/Map.go index 37d8f84..48c2f5b 100644 --- a/map/Map.go +++ b/map/Map.go @@ -82,6 +82,7 @@ func (t *Map) Range(f func(key, value interface{})(bool)) { t.lock.Unlock() + m,_ = t.readOnly.Load().(map[interface{}]*ptr)//reload for k,p := range m{ v,ok := p.tryLoad() if !ok {continue} diff --git a/map/Map_test.go b/map/Map_test.go index ecdcb0a..73e5219 100644 --- a/map/Map_test.go +++ b/map/Map_test.go @@ -16,6 +16,7 @@ func Test_customMap(t *testing.T) { //range c.Store(1, 1) c.Range(func(key,value interface{})(bool){ + t.Log(key, value) if key.(int) != value.(int) {t.Error(`3`)} return true })