Documentation
¶
Index ¶
- type Dict
- type SafeDict
- func (own *SafeDict[K, V]) Clear()
- func (own *SafeDict[K, V]) Delete(keys ...K)
- func (own *SafeDict[K, V]) Filter(fn func(key K, val V) bool) map[K]V
- func (own *SafeDict[K, V]) Get(key K) (V, bool)
- func (own *SafeDict[K, V]) GetKeys() []K
- func (own *SafeDict[K, V]) GetLength() int
- func (own *SafeDict[K, V]) GetMap() map[K]V
- func (own *SafeDict[K, V]) GetValues() []V
- func (own *SafeDict[K, V]) HasAll(keys ...K) bool
- func (own *SafeDict[K, V]) HasAny(keys ...K) bool
- func (own *SafeDict[K, V]) Range(fn func(key K, val V))
- func (own *SafeDict[K, V]) Set(key K, val V)
- func (own *SafeDict[K, V]) Transform(fn func(key K, val V) V)
- func (own *SafeDict[K, V]) Update(items map[K]V)
- type ShardSafeDict
- func (own *ShardSafeDict[K, V]) Clear()
- func (own *ShardSafeDict[K, V]) Delete(keys ...K)
- func (own *ShardSafeDict[K, V]) Filter(fn func(key K, val V) bool) map[K]V
- func (own *ShardSafeDict[K, V]) Get(key K) (V, bool)
- func (own *ShardSafeDict[K, V]) GetKeys() []K
- func (own *ShardSafeDict[K, V]) GetLength() (length int)
- func (own *ShardSafeDict[K, V]) GetMap() map[K]V
- func (own *ShardSafeDict[K, V]) GetValues() []V
- func (own *ShardSafeDict[K, V]) HasAll(keys ...K) bool
- func (own *ShardSafeDict[K, V]) HasAny(keys ...K) bool
- func (own *ShardSafeDict[K, V]) Range(fn func(key K, val V))
- func (own *ShardSafeDict[K, V]) Set(key K, val V)
- func (own *ShardSafeDict[K, V]) Transform(fn func(key K, val V) V)
- func (own *ShardSafeDict[K, V]) Update(items map[K]V)
- type SyncDict
- func (own *SyncDict[K, V]) Clear()
- func (own *SyncDict[K, V]) Delete(keys ...K)
- func (own *SyncDict[K, V]) Filter(fn func(key K, val V) bool) map[K]V
- func (own *SyncDict[K, V]) Get(key K) (V, bool)
- func (own *SyncDict[K, V]) GetKeys() []K
- func (own *SyncDict[K, V]) GetLength() (length int)
- func (own *SyncDict[K, V]) GetMap() map[K]V
- func (own *SyncDict[K, V]) GetValues() []V
- func (own *SyncDict[K, V]) HasAll(keys ...K) bool
- func (own *SyncDict[K, V]) HasAny(keys ...K) bool
- func (own *SyncDict[K, V]) Range(fn func(key K, val V))
- func (own *SyncDict[K, V]) Set(key K, val V)
- func (own *SyncDict[K, V]) Transform(fn func(key K, val V) V)
- func (own *SyncDict[K, V]) Update(items map[K]V)
- type UnsafeDict
- func (own *UnsafeDict[K, V]) Clear()
- func (own *UnsafeDict[K, V]) Delete(keys ...K)
- func (own *UnsafeDict[K, V]) Filter(fn func(key K, val V) bool) map[K]V
- func (own *UnsafeDict[K, V]) Get(key K) (V, bool)
- func (own *UnsafeDict[K, V]) GetKeys() []K
- func (own *UnsafeDict[K, V]) GetLength() int
- func (own *UnsafeDict[K, V]) GetMap() map[K]V
- func (own *UnsafeDict[K, V]) GetValues() []V
- func (own *UnsafeDict[K, V]) HasAll(keys ...K) bool
- func (own *UnsafeDict[K, V]) HasAny(keys ...K) bool
- func (own *UnsafeDict[K, V]) Range(fn func(key K, val V))
- func (own *UnsafeDict[K, V]) Set(key K, val V)
- func (own *UnsafeDict[K, V]) Transform(fn func(key K, val V) V)
- func (own *UnsafeDict[K, V]) Update(items map[K]V)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Dict ¶
type Dict[K comparable, V any] interface { // Set 设置键值对 Set(key K, val V) // Update 更新字典 Update(items map[K]V) // Delete 删除键值对 Delete(keys ...K) // HasAll 判断所有指定键值对是否存在 HasAll(keys ...K) bool // HasAny 判断任一指定元素是存在 HasAny(keys ...K) bool // Get 询查键值对 Get(key K) (V, bool) // GetKeys 获取字典中所有的键 GetKeys() []K // GetValues 获取字典中所有的值 GetValues() []V // GetLength 获取字典长度 GetLength() int // GetMap 获取Map GetMap() map[K]V // Transform 遍历并更新每个元素 Transform(fn func(key K, val V) V) // Filter 从字典中过滤出符合要求的键值对 Filter(fn func(key K, val V) bool) map[K]V // Range 遍历并获取每个元素 Range(fn func(key K, val V)) // Clear 清空字典 Clear() }
Dict 定义字典的接口类型
type SafeDict ¶
type SafeDict[K comparable, V any] struct { // contains filtered or unexported fields }
SafeDict 定义基于 sync.RWMute 的并发安全的字典类型
func NewSafeDict ¶
func NewSafeDict[K comparable, V any]() *SafeDict[K, V]
NewSafeDict 新建一个基于 sync.RWMute 的并发安全的字典
type ShardSafeDict ¶
type ShardSafeDict[K comparable, V any] struct { // contains filtered or unexported fields }
ShardSafeDict 定义分片且并发安全的数据结构
func NewShardSafeDict ¶
func NewShardSafeDict[K comparable, V any]() *ShardSafeDict[K, V]
NewShardSafeDict 创建一个分片的键值对缓存
- 分片数量:runtime.NumCPU() * 32
func (*ShardSafeDict[K, V]) Filter ¶
func (own *ShardSafeDict[K, V]) Filter(fn func(key K, val V) bool) map[K]V
Filter 从字典中过滤出符合要求的键值对
func (*ShardSafeDict[K, V]) GetKeys ¶
func (own *ShardSafeDict[K, V]) GetKeys() []K
GetKeys 获取字典中所有的键
func (*ShardSafeDict[K, V]) GetLength ¶
func (own *ShardSafeDict[K, V]) GetLength() (length int)
GetLength 获取字典长度
func (*ShardSafeDict[K, V]) GetValues ¶
func (own *ShardSafeDict[K, V]) GetValues() []V
GetValues 获取字典中所有的值
func (*ShardSafeDict[K, V]) HasAll ¶
func (own *ShardSafeDict[K, V]) HasAll(keys ...K) bool
HasAll 判断所有指定键值对是否存在
func (*ShardSafeDict[K, V]) HasAny ¶
func (own *ShardSafeDict[K, V]) HasAny(keys ...K) bool
HasAny 判断任一指定元素是存在
func (*ShardSafeDict[K, V]) Range ¶
func (own *ShardSafeDict[K, V]) Range(fn func(key K, val V))
Range 遍历字典
func (*ShardSafeDict[K, V]) Transform ¶
func (own *ShardSafeDict[K, V]) Transform(fn func(key K, val V) V)
Transform 遍历并更新每个元素
func (*ShardSafeDict[K, V]) Update ¶
func (own *ShardSafeDict[K, V]) Update(items map[K]V)
Update 更新字典
type SyncDict ¶
type SyncDict[K comparable, V any] struct { // contains filtered or unexported fields }
SyncDict 定义基于 sync.Map 的并发安全的字典类型
func NewSyncDict ¶
func NewSyncDict[K comparable, V any]() *SyncDict[K, V]
NewSyncDict 新建一个基于 sync.Map 的并发安全的字典
type UnsafeDict ¶
type UnsafeDict[K comparable, V any] map[K]V
UnsafeDict 定义非并发安全的字典类型
func NewUnsafeDict ¶
func NewUnsafeDict[K comparable, V any]() *UnsafeDict[K, V]
NewUnsafeDict 新建一个非并发安全的字典
func (*UnsafeDict[K, V]) Filter ¶
func (own *UnsafeDict[K, V]) Filter(fn func(key K, val V) bool) map[K]V
Filter 从字典中过滤出符合要求的键值对
func (*UnsafeDict[K, V]) GetValues ¶
func (own *UnsafeDict[K, V]) GetValues() []V
GetValues 获取字典中所有的值
func (*UnsafeDict[K, V]) HasAll ¶
func (own *UnsafeDict[K, V]) HasAll(keys ...K) bool
HasAll 判断所有指定键值对是否存在
func (*UnsafeDict[K, V]) HasAny ¶
func (own *UnsafeDict[K, V]) HasAny(keys ...K) bool
HasAny 判断任一指定元素是存在
func (*UnsafeDict[K, V]) Range ¶
func (own *UnsafeDict[K, V]) Range(fn func(key K, val V))
Range 遍历字典
func (*UnsafeDict[K, V]) Transform ¶
func (own *UnsafeDict[K, V]) Transform(fn func(key K, val V) V)
Transform 遍历并更新每个元素
Click to show internal directories.
Click to hide internal directories.