Skip to content

Commit 4fe4a8b

Browse files
committed
更新文档
1 parent 31ddff3 commit 4fe4a8b

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,3 +152,28 @@ m["b"] = "2"
152152
m["c"] = "3"
153153
get := mapex.Values(m)
154154
```
155+
## 十一、`rwmap`
156+
rwmap与sync.Map类似支持并发访问,只解决sync.Map 2个问题.
157+
1. 没有Len成员函数
158+
2. 以及没有使用泛型语法,有运行才发现类型使用错误的烦恼
159+
```go
160+
var m RWMap[string, string] // 声明一个string, string的map
161+
m.Store("hello", "1") // 保存
162+
v1, ok1 := m.Load("hello") // 获取值
163+
v1, ok1 = m.LoadAndDelete("hello") //返回hello对应值,然后删除hello
164+
Delete("hello") // 删除
165+
v1, ok1 = m.LoadOrStore("hello", "world")
166+
167+
// 遍历,使用回调函数
168+
m.Range(func(key, val string) bool {
169+
fmt.Printf("k:%s, val:%s\n"i, key, val)
170+
return true
171+
})
172+
173+
// 遍历,迭代器
174+
for pair := range m.Iter() {
175+
fmt.Printf("k:%s, val:%s\n", pair.Key, pair.Val)
176+
}
177+
178+
m.Len()// 获取长度
179+
```

0 commit comments

Comments
 (0)