Help us shape the future of Go! Take the 2026 Go Developer Survey

syncmap

package
v0.2.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type SyncMap

type SyncMap[K comparable, V any] struct {
	// contains filtered or unexported fields
}

SyncMap 保存可并发读写的键值;零值可直接使用,首次使用后不能复制。

func (*SyncMap[K, V]) Clone

func (s *SyncMap[K, V]) Clone() SyncMap[K, V]

Clone 返回映射内容的副本。

func (*SyncMap[K, V]) Delete

func (s *SyncMap[K, V]) Delete(key K)

Delete 删除指定键。

func (*SyncMap[K, V]) DeleteIf

func (s *SyncMap[K, V]) DeleteIf(key K, predicate func(V) bool) bool

DeleteIf 键存在且 predicate 对它的值返回 true 时删除这个键,返回是否删除了;predicate 不能调用本 SyncMap 的方法。

func (*SyncMap[K, V]) Export

func (s *SyncMap[K, V]) Export() map[K]V

Export 返回包含全部键值的普通 map 副本。

func (*SyncMap[K, V]) Grow

func (s *SyncMap[K, V]) Grow(size int)

Grow 在首次写入前按指定容量初始化映射。

func (*SyncMap[K, V]) Keys

func (s *SyncMap[K, V]) Keys() []K

Keys 返回全部键组成的切片。

func (*SyncMap[K, V]) Len

func (s *SyncMap[K, V]) Len() (l int)

Len 返回已保存键值的数量。

func (*SyncMap[K, V]) Load

func (s *SyncMap[K, V]) Load(key K) (value V, loaded bool)

Load 读取键对应的值,同时返回是否找到。

func (*SyncMap[K, V]) LoadAndDelete

func (s *SyncMap[K, V]) LoadAndDelete(key K) (value V, loaded bool)

LoadAndDelete 删除键并返回原值;loaded 说明是否找到。

func (*SyncMap[K, V]) LoadOrStore

func (s *SyncMap[K, V]) LoadOrStore(key K, value V) (actual V, loaded bool)

LoadOrStore 键已存在时返回已有值,否则保存并返回传入值;loaded 说明返回的是不是已有值。

func (*SyncMap[K, V]) Range

func (s *SyncMap[K, V]) Range(f func(key K, value V) (shouldContinue bool))

Range 逐个键值调用 f,f 返回 false 时停止;调用 f 时不持锁,f 里可以调用本 SyncMap 的方法。

func (*SyncMap[K, V]) Store

func (s *SyncMap[K, V]) Store(key K, value V)

Store 保存键对应的值。

func (*SyncMap[K, V]) ToMap

func (s *SyncMap[K, V]) ToMap() map[K]V

ToMap 返回包含全部键值的普通 map 副本。

func (*SyncMap[K, V]) Values

func (s *SyncMap[K, V]) Values() []V

Values 返回全部值组成的切片。

Jump to

Keyboard shortcuts

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