Documentation ¶
Index ¶
- Constants
- Variables
- func DuplicateValues[C comparable](m map[C]C) map[C][]C
- func IntKeys[K constraints.Integer, V any](m map[K]V) []int
- func IntValueOrDefault[K comparable, V constraints.Integer](m map[K]V, key K, def V) V
- func KeysExist[K comparable, V any](m map[K]V, keys []K, requireAll bool) bool
- func MapSSToKeyValues(kvs map[string]string, sep string) string
- func MapStringMapStringIntFuncExactMatch(valWant int) func(string, string, int) bool
- func MapStringMapStringIntFuncIncludeAll(str1, str2 string, val int) bool
- func MapStringSliceCondenseSpace(m map[string][]string, dedupeVals, sortVals bool) map[string][]string
- func NumberValuesAverage[K comparable, V constraints.Float | constraints.Integer](m map[K]V) float64
- func StringKeys[V any](m map[string]V, xf func(s string) string) []string
- func StringValueOrDefault[K comparable](m map[K]string, key K, def string) string
- func StringValues[K comparable](m map[K]string) []string
- func UniqueValues[C comparable](m map[C]C) bool
- type MapInt64Int64
- type MapStringInt
- func (msi MapStringInt) Add(key string, val int)
- func (msi MapStringInt) Exists(key string) bool
- func (msi MapStringInt) Keys(sortKeys bool) []string
- func (msi MapStringInt) MinMaxValues() (int, int)
- func (msi MapStringInt) MustGet(key string, defaultValue int) int
- func (msi MapStringInt) Set(key string, val int)
- func (msi MapStringInt) Sorted(sortBy string) []Record
- type MapStringMapStringInt
- func (msmsi MapStringMapStringInt) Add(str1, str2 string, val int)
- func (msmsi MapStringMapStringInt) Counts(sep string) (int, int)
- func (msmsi MapStringMapStringInt) CountsWithVal(wantVal int, sep string) (int, int)
- func (msmsi MapStringMapStringInt) Flatten(prefix, sep string, fnInclude func(string, string, int) bool, ...) []string
- func (msmsi MapStringMapStringInt) Set(str1, str2 string, val int)
- type MapStringSlice
- type Record
- type RecordSet
Constants ¶
const ( SortNameAsc = "name asc" SortNameDesc = "name desc" SortValueAsc = "value asc" SortValueDesc = "value desc" )
Variables ¶
var ErrMapDuplicateValues = errors.New("map has duplicate values")
Functions ¶
func DuplicateValues ¶ added in v0.43.0
func DuplicateValues[C comparable](m map[C]C) map[C][]C
func IntKeys ¶ added in v0.41.0
func IntKeys[K constraints.Integer, V any](m map[K]V) []int
IntKeys takes a map where the keys are integers and reurns a slice of key names.
func IntValueOrDefault ¶ added in v0.43.0
func IntValueOrDefault[K comparable, V constraints.Integer](m map[K]V, key K, def V) V
func KeysExist ¶ added in v0.43.0
func KeysExist[K comparable, V any](m map[K]V, keys []K, requireAll bool) bool
KeysExist checks to verify if a set of keys exists within a map with string keys. If `requireAll` is set, then all keys must be present for the function to return `true`. If `requireAll` is not set, then only one key must exist for the function to return `true`.
func MapStringMapStringIntFuncExactMatch ¶
MapStringMapStringIntFuncExactMatch returns a match function that matches an exact vaule.
func MapStringMapStringIntFuncIncludeAll ¶
MapStringMapStringIntFuncIncludeAll returns match function that matches all values.
func MapStringSliceCondenseSpace ¶ added in v0.41.2
func MapStringSliceCondenseSpace(m map[string][]string, dedupeVals, sortVals bool) map[string][]string
MapStringSliceCondenseSpace will trim spaces for keys and values, and remove empty values. It will also optionally dedupe and sort values.
func NumberValuesAverage ¶ added in v0.41.0
func NumberValuesAverage[K comparable, V constraints.Float | constraints.Integer](m map[K]V) float64
NumberValuesAverage returns a `float64` average of a map's values.
func StringKeys ¶
StringKeys takes a map where the keys are strings and reurns a slice of key names. An optional transform function, `xf`, can be supplied along with an option to sort the results. If both transform and sort are requested, the sort is performed on the transformed strings.
func StringValueOrDefault ¶ added in v0.43.0
func StringValueOrDefault[K comparable](m map[K]string, key K, def string) string
func StringValues ¶ added in v0.41.5
func StringValues[K comparable](m map[K]string) []string
StringValues returns a string slice of string values.
func UniqueValues ¶ added in v0.43.0
func UniqueValues[C comparable](m map[C]C) bool
UniqueValues returns `true` if the number of unique values is the same as the number of keys.
Types ¶
type MapInt64Int64 ¶
func (MapInt64Int64) KeysSorted ¶
func (m MapInt64Int64) KeysSorted() []int64
func (MapInt64Int64) ValuesSortedByKeys ¶
func (m MapInt64Int64) ValuesSortedByKeys() []int64
type MapStringInt ¶
MapStringInt represents a `map[string]int`
func NewMapStringIntSlice ¶
func NewMapStringIntSlice(slice []string) MapStringInt
func (MapStringInt) Add ¶
func (msi MapStringInt) Add(key string, val int)
Add adds the value of `val` to `key`.
func (MapStringInt) Exists ¶
func (msi MapStringInt) Exists(key string) bool
Exists returns a boolean whether a string key exists.
func (MapStringInt) Keys ¶
func (msi MapStringInt) Keys(sortKeys bool) []string
Keys returns a string slice of the map's keys.
func (MapStringInt) MinMaxValues ¶
func (msi MapStringInt) MinMaxValues() (int, int)
MinMaxValues returns the minium and maximum values of the `map[string]int`.
func (MapStringInt) MustGet ¶
func (msi MapStringInt) MustGet(key string, defaultValue int) int
MustGet returns a value or a default.
func (MapStringInt) Set ¶
func (msi MapStringInt) Set(key string, val int)
Set sets the value of `val` to `key`.
func (MapStringInt) Sorted ¶
func (msi MapStringInt) Sorted(sortBy string) []Record
Sorted returns a set of key names and values sorted by the sort type.
type MapStringMapStringInt ¶
MapStringMapStringInt represents a `map[string]map[string]int`
func (MapStringMapStringInt) Add ¶
func (msmsi MapStringMapStringInt) Add(str1, str2 string, val int)
Add supports adding values to `MapStringMapStringInt` easily.
func (MapStringMapStringInt) Counts ¶
func (msmsi MapStringMapStringInt) Counts(sep string) (int, int)
Counts returns key counts regardless of value.
func (MapStringMapStringInt) CountsWithVal ¶
func (msmsi MapStringMapStringInt) CountsWithVal(wantVal int, sep string) (int, int)
CountsWithVal returns key counts with the desired value.
func (MapStringMapStringInt) Flatten ¶
func (msmsi MapStringMapStringInt) Flatten(prefix, sep string, fnInclude func(string, string, int) bool, dedupe, sortResults bool) []string
Flatten returns the values in the `MapStringMapStringInt` in an string slice.
func (MapStringMapStringInt) Set ¶
func (msmsi MapStringMapStringInt) Set(str1, str2 string, val int)
Set supports setting values to `MapStringMapStringInt` easily.
type MapStringSlice ¶
func NewMapStringSlice ¶ added in v0.37.15
func NewMapStringSlice() MapStringSlice
func (MapStringSlice) Add ¶
func (mss MapStringSlice) Add(key, value string)
Add adds a key and value to the `map[string][]string`. It will panic on a nil struct, so do not precede with `var mss MapStringSlice`
func (MapStringSlice) Keys ¶ added in v0.43.0
func (mss MapStringSlice) Keys() []string
func (MapStringSlice) KeysByValueCounts ¶ added in v0.40.8
func (mss MapStringSlice) KeysByValueCounts() map[int][]string
KeysByValueCounts returns a `map[int][]string` where the key is the count of values and the values are the keys with that value count.
func (MapStringSlice) Sort ¶ added in v0.37.13
func (mss MapStringSlice) Sort(dedupe bool)