Documentation
¶
Index ¶
- type Map
- func (sm *Map[K, V]) Clear()
- func (sm *Map[K, V]) CompareAndDelete(key K, old V) (deleted bool)
- func (sm *Map[K, V]) CompareAndSwap(key K, old, new V) (swapped bool)
- func (sm *Map[K, V]) Delete(key K)
- func (sm *Map[K, V]) Load(k K) (value V, ok bool)
- func (sm *Map[K, V]) LoadAndDelete(key K) (value V, loaded bool)
- func (sm *Map[K, V]) LoadOrStore(key K, value V) (actual V, loaded bool)
- func (sm *Map[K, V]) Range(f func(key K, value V) bool)
- func (sm *Map[K, V]) Store(key K, value V)
- func (sm *Map[K, V]) Swap(key K, value V) (actual V, loaded bool)
- func (sm *Map[K, V]) ToMap() map[K]V
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Map ¶
type Map[K comparable, V any] struct { // contains filtered or unexported fields }
func NewMap ¶
func NewMap[K comparable, V any]() *Map[K, V]
func (*Map[K, V]) CompareAndDelete ¶
CompareAndDelete wraps sync.Map.CompareAndDelete. 比较并删除, 如果 key 存在且旧值等于 old, 则删除该键值对. 值的类型必须是可比较的.
func (*Map[K, V]) CompareAndSwap ¶
CompareAndSwap wraps sync.Map.CompareAndSwap. 比较并交换, 如果 key 存在且旧值等于 old, 则将新值存储到 map 中. 值的类型必须是可比较的.
func (*Map[K, V]) Delete ¶
func (sm *Map[K, V]) Delete(key K)
Delete wraps sync.Map.Delete. 删除一个键值对.
func (*Map[K, V]) Load ¶
Load wraps sync.Map.Load. 返回 map 中的值, 如果没有则返回零值. ok 字段表示 key 是否存在.
func (*Map[K, V]) LoadAndDelete ¶
LoadAndDelete wraps sync.Map.LoadAndDelete. 删除一个键值对, 并返回旧值(如有). loaded 字段表示 key 是否存在.
func (*Map[K, V]) LoadOrStore ¶
LoadOrStore wraps sync.Map.LoadOrStore. 如果 key 存在, 则返回旧值; 否则存储一个键值对到 map 中, 并返回新值. loaded 字段为 true 表示 key 已经存在, false 表示返回的是存储的新值.
func (*Map[K, V]) Range ¶
Range wraps sync.Map.Range. 遍历 map 中的所有键值对. 对 map 中的每个键值对依次调用 f, 如果 f 返回 false, 则停止迭代.
func (*Map[K, V]) Store ¶
func (sm *Map[K, V]) Store(key K, value V)
Store wraps sync.Map.Store. 存储一个键值对到 map 中.
func (*Map[K, V]) Swap ¶
Swap wraps sync.Map.Swap. 存储一个键值对到 map 中, 如果 key 已经存在, 则返回旧值. loaded 字段表示 key 是否存在.