package jconcurrency import ( "log" "testing" "time" //"github.com/orcaman/concurrent-map/v2" ) func Test_map(t *testing.T) { //创建map[any]any jm := NewJM() //并发安全放值 jm.Set("a", 1) jm.Set(1, 3) //判断值是否存在 log.Println("key 1 :", jm.Has(1)) //删除值 jm.Del(1) log.Println("key 1 :", jm.Has(1)) //如果不存在则放入 jm.SetIfNoExists("a", 5) jm.SetIfNoExists("b", 6) //获取并删除 log.Println(jm.GetAndDel("b")) log.Println(jm) } func Test_map2(t *testing.T) { jm := NewJM() for i := 0; i < 100000; i++ { jm.Set(i, i) } for i := 0; i < 2; i++ { go jm.Iter(func(k, v any) bool { if k == i { //暂停 return false } return true }) } time.Sleep(1 * time.Second) log.Println(jm.Len()) }