gmap

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

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

Go to latest
Published: May 30, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Avg

func Avg[K comparable, V gvalue.Numeric](m map[K]V) float64

func AvgBy

func AvgBy[K comparable, V any, N gvalue.Numeric](m map[K]V, f func(V) N) float64

func Clone

func Clone[K comparable, V any](m map[K]V) map[K]V

func CloneByKeys

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

func Contains

func Contains[K comparable, V comparable](m map[K]V, key K) bool

func ContainsAll

func ContainsAll[K comparable, V comparable](m map[K]V, ks ...K) bool

func ContainsAny

func ContainsAny[K comparable, V comparable](m map[K]V, ks ...K) bool

func Diff

func Diff[K comparable, V any](m map[K]V, against ...map[K]V) map[K]V

func Equal

func Equal[K comparable, V comparable](m1 map[K]V, m2 map[K]V) bool

func EqualBy

func EqualBy[K comparable, V comparable, M ~map[K]V](m1 M, m2 M, eq func(V, V) bool) bool

func EqualStrict

func EqualStrict[K comparable, V comparable](m1 map[K]V, m2 map[K]V) bool

func EqualStrictBy

func EqualStrictBy[K comparable, V comparable, M ~map[K]V](m1 M, m2 M, eq func(V, V) bool) bool

func Filter

func Filter[K comparable, V any](m map[K]V, f func(K, V) bool) map[K]V

Filter 过滤map,返回一个新的map

func FilterByKeys

func FilterByKeys[K comparable, V any](m map[K]V, keys ...K) map[K]V

FilterByKeys 通过Key过滤map,返回一个新的map

func FilterByValues

func FilterByValues[K, V comparable](m map[K]V, values ...V) map[K]V

func FilterKeys

func FilterKeys[K comparable, V any](m map[K]V, f func(K) bool) map[K]V

FilterKeys 过滤map,返回一个新的map

func FilterValues

func FilterValues[K comparable, V any](m map[K]V, f func(V) bool) map[K]V

func Intersect

func Intersect[K comparable, V any](ms ...map[K]V) map[K]V

func IntersectBy

func IntersectBy[K comparable, V any, M ~map[K]V](f ConflictFunc[K, V], ms ...map[K]V) map[K]V

func Invert

func Invert[K comparable, V comparable](m map[K]V) map[V]K

func InvertBy

func InvertBy[K comparable, V comparable, M ~map[K]V](m M, onConflict ConflictFunc[V, K]) map[V]K

func InvertGroup

func InvertGroup[K comparable, V comparable](m map[K]V) map[V][]K

func Keys

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

func Load

func Load[K comparable, V any](m map[K]V, key K) optional.O[V]

func LoadAll

func LoadAll[K comparable, V any](m map[K]V, ks ...K) []V

func LoadAndDelete

func LoadAndDelete[K comparable, V any](m map[K]V, key K) optional.O[V]

func LoadAny

func LoadAny[K comparable, V any](m map[K]V, ks ...K) (r optional.O[V])

func LoadBy

func LoadBy[k comparable, V any](m map[k]V, f func(k k, v V) bool) optional.O[V]

func LoadKey

func LoadKey[K comparable, V comparable](m map[K]V, v V) optional.O[K]

func LoadKeysBy

func LoadKeysBy[K comparable, V any](m map[K]V, f func(k K, v V) bool) optional.O[K]

func LoadOrStore

func LoadOrStore[K comparable, V any](m map[K]V, key K, defaultV V) (v V, loaded bool)

func LoadOrStoreFunc

func LoadOrStoreFunc[K comparable, V any](m map[K]V, key K, defaultFunc func() V) (v V, loaded bool)

func LoadSome

func LoadSome[K comparable, V any](m map[K]V, ks ...K) (r []V)

func Map

func Map[K1, K2 comparable, V1, V2 any](m map[K1]V1, f func(K1, V1) (K2, V2)) map[K2]V2

Map 遍历map,对每个元素执行函数,返回一个新的map 注意:如果函数返回的key重复,则会覆盖前面的值

func MapKeys

func MapKeys[K1, K2 comparable, V any](m map[K1]V, f func(K1) K2) map[K2]V

MapKeys 遍历map,对每个元素执行函数,返回一个新的map

func MapValues

func MapValues[K comparable, V1, V2 any](m map[K]V1, f func(V1) V2) map[K]V2

MapValues 遍历map,对每个元素执行函数,返回一个新的map 注意:如果函数返回的key重复,则会覆盖前面的值

func Max

func Max[K comparable, V gvalue.Ordered](m map[K]V) (r optional.O[V])

func Merge

func Merge[K comparable, V any](ms ...map[K]V) map[K]V

func Reject

func Reject[K comparable, V any](m map[K]V, f func(K, V) bool) map[K]V

Reject 过滤map,返回一个新的map 注意:如果函数返回true,则会过滤掉该元素 注意:如果函数返回false,则会保留该元素

func RejectByKeys

func RejectByKeys[K comparable, V any](m map[K]V, keys ...K) map[K]V

RejectByKeys 通过Key过滤map,返回一个新的map

func RejectByValues

func RejectByValues[K, V comparable](m map[K]V, values ...V) map[K]V

func RejectKeys

func RejectKeys[K comparable, V any](m map[K]V, f func(K) bool) map[K]V

RejectKeys 过滤map,返回一个新的map 注意:如果函数返回true,则会过滤掉该元素 注意:如果函数返回false,则会保留该元素

func RejectValues

func RejectValues[K comparable, V any](m map[K]V, f func(V) bool) map[K]V

func Sum

func Sum[K comparable, V gvalue.Numeric](m map[K]V) V

func SumBy

func SumBy[K comparable, V any, N gvalue.Numeric](m map[K]V, f func(V) N) N

func TryMap

func TryMap[K1, K2 comparable, V1, V2 any](m map[K1]V1, f func(K1, V1) (K2, V2, error)) gresult.R[map[K2]V2]

TryMap 遍历map,对每个元素执行函数,返回一个新的map 注意:如果函数返回的key重复,则会覆盖前面的值

func TryMapKeys

func TryMapKeys[K1, K2 comparable, V any](m map[K1]V, f func(K1) (K2, error)) gresult.R[map[K2]V]

TryMapKeys 遍历map,对每个元素执行函数,返回一个新的map

func Union

func Union[K comparable, V any](ms ...map[K]V) map[K]V

func UnionBy

func UnionBy[K comparable, V any, M ~map[K]V](f ConflictFunc[K, V], ms ...map[K]V) map[K]V

func Values

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

Types

type ConflictFunc

type ConflictFunc[K comparable, V any] func(key K, oldVal V, newVal V) V

func DiscardNew

func DiscardNew[K comparable, V any]() ConflictFunc[K, V]

func DiscardNil

func DiscardNil[K comparable, V any](fallback ConflictFunc[K, *V]) ConflictFunc[K, *V]

func DiscardOld

func DiscardOld[K comparable, V any]() ConflictFunc[K, V]

func DiscardZero

func DiscardZero[K comparable, V comparable](fallback ConflictFunc[K, V]) ConflictFunc[K, V]

Jump to

Keyboard shortcuts

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