maps

package
v0.5.2 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package maps provides utilities to manipulate maps.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Keys

func Keys[M ~map[K]V, K comparable, V any](m M) []K

Keys returns the keys of the map m. The keys will be in an indeterminate order.

func Merge added in v0.4.0

func Merge[M ~map[K]V, K comparable, V any](m ...M) M

Merge merges the maps in m into a single map. If a key is present in multiple maps, the value from the last map will be used.

func Values added in v0.4.0

func Values[M ~map[K]V, K comparable, V any](m M) []V

Values returns the values of the map m. The values will be in an indeterminate order.

Types

type SyncMap

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

SyncMap is a wrapper around sync.Map that provides a few additional methods.

func (*SyncMap[K, V]) Delete

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

Delete deletes the value for a key.

func (*SyncMap[K, V]) IsEmpty added in v0.4.0

func (m *SyncMap[K, V]) IsEmpty() bool

IsEmpty returns true if the map is empty.

func (*SyncMap[K, V]) Keys added in v0.3.0

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

Keys returns all the keys in the map.

func (*SyncMap[K, V]) Load

func (m *SyncMap[K, V]) Load(key K) (value V, ok bool)

Load returns the value stored in the map for a key, or nil if no value is present.

func (*SyncMap[K, V]) LoadAndDelete

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

LoadAndDelete deletes the value for a key, returning the previous value if any.

func (*SyncMap[K, V]) LoadOrStore

func (m *SyncMap[K, V]) LoadOrStore(key K, value V) (V, bool)

LoadOrStore returns the existing value for the key if present.

func (*SyncMap[K, V]) Range

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

Range calls f sequentially for each key and value present in the map.

func (*SyncMap[K, V]) Size

func (m *SyncMap[K, V]) Size() int

Size returns the number of items in the map.

func (*SyncMap[K, V]) Store

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

Store sets the value for a key.

func (*SyncMap[K, V]) Swap added in v0.4.0

func (m *SyncMap[K, V]) Swap(key K, value V) (V, bool)

Swap stores value for key and returns the previous value for that key.

func (*SyncMap[K, V]) Values added in v0.4.0

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

Values returns all the values in the map.

Jump to

Keyboard shortcuts

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