Documentation
¶
Index ¶
- func ConcurrentRun[T any](funcs []func() (T, error)) <-chan TaskResult[T]
- type ConcurrentFunc
- type GenericSyncMap
- func (gm *GenericSyncMap[K, V]) Delete(key K)
- func (gm *GenericSyncMap[K, V]) Get(key K) (V, bool)
- func (gm *GenericSyncMap[K, V]) GetOr(k K, dV V) (v V)
- func (gm *GenericSyncMap[K, V]) GetOrElse(k K, fn func() V) (v V)
- func (gm *GenericSyncMap[K, V]) Keys() []K
- func (gm *GenericSyncMap[K, V]) Range(f func(key K, value V) bool)
- func (gm *GenericSyncMap[K, V]) Set(key K, value V)
- func (gm *GenericSyncMap[K, V]) ToMap() map[K]V
- func (gm *GenericSyncMap[K, V]) Values() []V
- type SafeMap
- func (m *SafeMap[K, V]) Clear()
- func (m *SafeMap[K, V]) Delete(key K)
- func (m *SafeMap[K, V]) ForEach(fn func(K, V) bool)
- func (m *SafeMap[K, V]) Get(key K) (V, bool)
- func (m *SafeMap[K, V]) GetOr(key K, dV V) V
- func (m *SafeMap[K, V]) GetOrElse(key K, fn func() V) V
- func (m *SafeMap[K, V]) Keys() []K
- func (m *SafeMap[K, V]) Length() int
- func (m *SafeMap[K, V]) Set(key K, value V)
- func (m *SafeMap[K, V]) ToMap() map[K]V
- func (m *SafeMap[K, V]) Values() []V
- type TaskResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConcurrentRun ¶
func ConcurrentRun[T any](funcs []func() (T, error)) <-chan TaskResult[T]
ConcurrentRun 并发执行传入的函数集合,返回结果通道和错误通道。 每个函数的结果会发送到结果通道,错误(包括 panic 转换的错误)发送到错误通道。 当所有函数执行完成后,通道会自动关闭。
Types ¶
type ConcurrentFunc ¶
ConcurrentFunc 定义一个接口
type GenericSyncMap ¶
type GenericSyncMap[K comparable, V any] struct { // contains filtered or unexported fields }
GenericSyncMap 是一个使用 sync.Map 封装的泛型 Map
func NewGenericSyncMap ¶
func NewGenericSyncMap[K comparable, V any]() *GenericSyncMap[K, V]
func NewGenericSyncMapFromMap ¶
func NewGenericSyncMapFromMap[K comparable, V any](m map[K]V) *GenericSyncMap[K, V]
func (*GenericSyncMap[K, V]) Delete ¶
func (gm *GenericSyncMap[K, V]) Delete(key K)
Delete 方法从 Map 中删除键值对
func (*GenericSyncMap[K, V]) Get ¶
func (gm *GenericSyncMap[K, V]) Get(key K) (V, bool)
Get 方法从 Map 中检索值
func (*GenericSyncMap[K, V]) GetOr ¶
func (gm *GenericSyncMap[K, V]) GetOr(k K, dV V) (v V)
func (*GenericSyncMap[K, V]) GetOrElse ¶
func (gm *GenericSyncMap[K, V]) GetOrElse(k K, fn func() V) (v V)
func (*GenericSyncMap[K, V]) Range ¶
func (gm *GenericSyncMap[K, V]) Range(f func(key K, value V) bool)
Range 方法遍历 Map 中的所有键值对
func (*GenericSyncMap[K, V]) Set ¶
func (gm *GenericSyncMap[K, V]) Set(key K, value V)
Set 方法将键值对添加到 Map 中
func (*GenericSyncMap[K, V]) ToMap ¶
func (gm *GenericSyncMap[K, V]) ToMap() map[K]V
ToMap 方法将 GenericSyncMap 转换为普通 map
func (*GenericSyncMap[K, V]) Values ¶
func (gm *GenericSyncMap[K, V]) Values() []V
Values 方法返回 Map 中的所有值
type SafeMap ¶
type SafeMap[K comparable, V any] struct { // contains filtered or unexported fields }
SafeMap 使用分片锁的线程安全map
func NewSafeMap ¶
func NewSafeMap[K comparable, V any](shardCount int) *SafeMap[K, V]
NewSafeMap 创建一个带有指定分片数量的线程安全map
func NewSafeMapFromMap ¶
func NewSafeMapFromMap[K comparable, V any](m map[K]V, shardCount int) *SafeMap[K, V]
NewSafeMapFromMap 将普通map转换为ConcurrentMap
func (*SafeMap[K, V]) GetOr ¶
func (m *SafeMap[K, V]) GetOr(key K, dV V) V
GetOr 获取键对应的值,不存在时返回给定的默认值
type TaskResult ¶
Click to show internal directories.
Click to hide internal directories.