maputil

package
v0.9.1 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2024 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AssignSlice

func AssignSlice[S ~[]K, K comparable](src S) map[K]struct{}

AssignSlice convert a slice to a map

func Copy

func Copy[M ~map[K]V, K comparable, V any](src *Map[K, V], dst M)

Copy copies all key/value pairs in src adding them to dst. When a key in src is already present in dst, the value in dst will be overwritten by the value associated with the key in src.

func Keys

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

Keys copy all keys in the map as a slice

func KeysFunc

func KeysFunc[M ~map[K]V, K comparable, V any](src M, fc func(K, V) bool) []K

KeysFunc copy all keys where fc returns true from src to the slice

Types

type Map

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

func Clone

func Clone[M ~map[K]V, K comparable, V any](src M) *Map[K, V]

Clone returns a copy of src. this is a shallow clone the new keys and values are set using ordinary assignment.

func New

func New[K comparable, V any]() *Map[K, V]

func (*Map[K, V]) CompareAndDelete

func (v *Map[K, V]) CompareAndDelete(key K, old V) bool

func (*Map[K, V]) CompareAndSwap

func (v *Map[K, V]) CompareAndSwap(key K, old, new V) bool

func (*Map[K, V]) Copy

func (v *Map[K, V]) Copy(dst *Map[K, V])

func (*Map[K, V]) Delete

func (v *Map[K, V]) Delete(key K)

func (*Map[K, V]) Exist

func (v *Map[K, V]) Exist(key K) bool

func (*Map[K, V]) Load

func (v *Map[K, V]) Load(key K) (V, bool)

func (*Map[K, V]) LoadAndDelete

func (v *Map[K, V]) LoadAndDelete(key K) (V, bool)

func (*Map[K, V]) LoadOrStore

func (v *Map[K, V]) LoadOrStore(key K, value V) (V, bool)

func (*Map[K, V]) Map

func (v *Map[K, V]) Map() map[K]V

func (*Map[K, V]) MarshalJSON

func (v *Map[K, V]) MarshalJSON() ([]byte, error)

func (*Map[K, V]) Range

func (v *Map[K, V]) Range(f func(key K, value V) bool)

func (*Map[K, V]) Store

func (v *Map[K, V]) Store(key K, value V)

func (*Map[K, V]) Swap

func (v *Map[K, V]) Swap(key K, value V) (V, bool)

func (*Map[K, V]) UnmarshalJSON

func (v *Map[K, V]) UnmarshalJSON(b []byte) error

Jump to

Keyboard shortcuts

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