dict

package
v0.0.0-...-8c343c0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

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 的并发安全的字典

func (*SafeDict[K, V]) Clear

func (own *SafeDict[K, V]) Clear()

Clear 清空字典

func (*SafeDict[K, V]) Delete

func (own *SafeDict[K, V]) Delete(keys ...K)

Delete 删除键值对

func (*SafeDict[K, V]) Filter

func (own *SafeDict[K, V]) Filter(fn func(key K, val V) bool) map[K]V

Filter 从字典中过滤出符合要求的键值对

func (*SafeDict[K, V]) Get

func (own *SafeDict[K, V]) Get(key K) (V, bool)

Get 查询键值对

func (*SafeDict[K, V]) GetKeys

func (own *SafeDict[K, V]) GetKeys() []K

GetKeys 获取字典中所有的键

func (*SafeDict[K, V]) GetLength

func (own *SafeDict[K, V]) GetLength() int

GetLength 获取字典长度

func (*SafeDict[K, V]) GetMap

func (own *SafeDict[K, V]) GetMap() map[K]V

GetMap 获取Map

func (*SafeDict[K, V]) GetValues

func (own *SafeDict[K, V]) GetValues() []V

GetValues 获取字典中所有的值

func (*SafeDict[K, V]) HasAll

func (own *SafeDict[K, V]) HasAll(keys ...K) bool

HasAll 判断所有指定键值对是否存在

func (*SafeDict[K, V]) HasAny

func (own *SafeDict[K, V]) HasAny(keys ...K) bool

HasAny 判断任一指定元素是存在

func (*SafeDict[K, V]) Range

func (own *SafeDict[K, V]) Range(fn func(key K, val V))

Range 遍历字典

func (*SafeDict[K, V]) Set

func (own *SafeDict[K, V]) Set(key K, val V)

Set 设置键值对

func (*SafeDict[K, V]) Transform

func (own *SafeDict[K, V]) Transform(fn func(key K, val V) V)

Transform 遍历并更新每个元素

func (*SafeDict[K, V]) Update

func (own *SafeDict[K, V]) Update(items map[K]V)

Update 更新字典

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]) Clear

func (own *ShardSafeDict[K, V]) Clear()

Clear 清空字典

func (*ShardSafeDict[K, V]) Delete

func (own *ShardSafeDict[K, V]) Delete(keys ...K)

Delete 删除键值对

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]) Get

func (own *ShardSafeDict[K, V]) Get(key K) (V, bool)

Get 查询键值对

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]) GetMap

func (own *ShardSafeDict[K, V]) GetMap() map[K]V

GetMap 获取Map

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]) Set

func (own *ShardSafeDict[K, V]) Set(key K, val V)

Set 设置键值对

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 的并发安全的字典

func (*SyncDict[K, V]) Clear

func (own *SyncDict[K, V]) Clear()

Clear 清空字典

func (*SyncDict[K, V]) Delete

func (own *SyncDict[K, V]) Delete(keys ...K)

Delete 删除键值对

func (*SyncDict[K, V]) Filter

func (own *SyncDict[K, V]) Filter(fn func(key K, val V) bool) map[K]V

Filter 从字典中过滤出符合要求的键值对

func (*SyncDict[K, V]) Get

func (own *SyncDict[K, V]) Get(key K) (V, bool)

Get 查询键值对

func (*SyncDict[K, V]) GetKeys

func (own *SyncDict[K, V]) GetKeys() []K

GetKeys 获取字典中所有的键

func (*SyncDict[K, V]) GetLength

func (own *SyncDict[K, V]) GetLength() (length int)

GetLength 获取字典长度

func (*SyncDict[K, V]) GetMap

func (own *SyncDict[K, V]) GetMap() map[K]V

GetMap 获取Map

func (*SyncDict[K, V]) GetValues

func (own *SyncDict[K, V]) GetValues() []V

GetValues 获取字典中所有的值

func (*SyncDict[K, V]) HasAll

func (own *SyncDict[K, V]) HasAll(keys ...K) bool

HasAll 判断所有指定键值对是否存在

func (*SyncDict[K, V]) HasAny

func (own *SyncDict[K, V]) HasAny(keys ...K) bool

HasAny 判断任一指定元素是存在

func (*SyncDict[K, V]) Range

func (own *SyncDict[K, V]) Range(fn func(key K, val V))

Range 遍历字典

func (*SyncDict[K, V]) Set

func (own *SyncDict[K, V]) Set(key K, val V)

Set 设置键值对

func (*SyncDict[K, V]) Transform

func (own *SyncDict[K, V]) Transform(fn func(key K, val V) V)

Transform 遍历并更新每个元素

func (*SyncDict[K, V]) Update

func (own *SyncDict[K, V]) Update(items map[K]V)

Update 更新字典

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]) Clear

func (own *UnsafeDict[K, V]) Clear()

Clear 清空字典

func (*UnsafeDict[K, V]) Delete

func (own *UnsafeDict[K, V]) Delete(keys ...K)

Delete 删除键值对

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]) Get

func (own *UnsafeDict[K, V]) Get(key K) (V, bool)

Get 查询键值对

func (*UnsafeDict[K, V]) GetKeys

func (own *UnsafeDict[K, V]) GetKeys() []K

GetKeys 获取字典中所有的键

func (*UnsafeDict[K, V]) GetLength

func (own *UnsafeDict[K, V]) GetLength() int

GetLength 获取字典长度

func (*UnsafeDict[K, V]) GetMap

func (own *UnsafeDict[K, V]) GetMap() map[K]V

GetMap 获取Map

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]) Set

func (own *UnsafeDict[K, V]) Set(key K, val V)

Set 设置键值对

func (*UnsafeDict[K, V]) Transform

func (own *UnsafeDict[K, V]) Transform(fn func(key K, val V) V)

Transform 遍历并更新每个元素

func (*UnsafeDict[K, V]) Update

func (own *UnsafeDict[K, V]) Update(items map[K]V)

Update 更新字典

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL