Documentation
¶
Index ¶
- func CompareTwoSlices[T comparable](listA, listB []T) bool
- func ContainsStringAlias[S ~[]E, E ~string](s S, v E) bool
- func Difference[T comparable](a, b []T) []T
- func Filter[T any](d, s []T, keep func(T) bool) []T
- func Find[T any](s []T, find func(T) bool) (int, bool)
- func GetBeans[T any](beans ...T) []T
- func GetBeansPtr[T any](beans ...*T) []*T
- func GetDeReferencedSlice[T any](ptrObjects []*T) []T
- func GetMapOf[K comparable, V comparable](sliceList []K, defaultValue V) map[K]V
- func GetMapValuesPtr[T any](valueMap map[string]*T) []*T
- func GetReferencedSlice[T any](objects []T) []*T
- func GetSliceOf[T any](element T) []T
- func GetUniqueElements[T comparable](sliceList []T) []T
- func NewMapFromFuncExec[T any, K comparable](input []T, transform func(inp T) K) map[K]T
- func NewSliceFromFuncExec[T any, K any](input []T, transform func(inp T) K) []K
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CompareTwoSlices ¶
func CompareTwoSlices[T comparable](listA, listB []T) bool
CompareTwoSlices asserts that the specified listA(array, slice...) is equal to specified listB(array, slice...) ignoring the order of the elements. If there are duplicate elements, the number of appearances of each of them in both lists should match.
CompareTwoSlices([1, 3, 2, 3], [1, 3, 3, 2])
func ContainsStringAlias ¶
ContainsStringAlias reports whether v is present in s.
func Difference ¶
func Difference[T comparable](a, b []T) []T
Difference returns the elements in the slice `a` that aren't in slice `b`. Examples:
- Difference([1, 2, 3, 4], [1, 2, 5]) => [3, 4]
- Difference([1, 2, 3, 4], [1, 2, 3, 4]) => []
- Difference([1, 2, 3, 4], [5, 6, 7]) => [1, 2, 3, 4]
- Difference([1, 2, 3, 4], []) => [1, 2, 3, 4]
- Difference([], [1, 2, 3, 4]) => []
func Filter ¶ added in v1.2.2
Filter appends to d each element e of s for which keep(e) returns true. It returns the modified d. d may be s[:0], in which case the kept elements will be stored in the same slice. if the slices overlap in some other way, the results are unspecified. To create a new slice with the filtered results, pass nil for d.
func Find ¶ added in v1.2.2
Find returns the index of the first element in s that satisfies the predicate func find. If no element satisfies the predicate, the function returns -1 and false.
func GetBeans ¶
func GetBeans[T any](beans ...T) []T
GetBeans returns a slice of beans passed as arguments GetBeans(bean1, bean2, bean3) => []Bean{bean1, bean2, bean3} ...T is a variadic parameter that accepts a variable number of objects of type T. But the cost of using variadic parameters is that the compiler has to create a new slice and copy all the arguments into it. Note: Make sure to use this function only when the number of arguments is lower.
func GetBeansPtr ¶
func GetBeansPtr[T any](beans ...*T) []*T
GetBeansPtr returns a slice of pointers to the beans passed as arguments GetBeansPtr(&bean1, &bean2, &bean3) => []*Bean{&bean1, &bean2, &bean3} ...*T is a variadic parameter that accepts a variable number of pointers to objects of type T. But the cost of using variadic parameters is that the compiler has to create a new slice and copy all the arguments into it. Note: Make sure to use this function only when the number of arguments is lower.
func GetDeReferencedSlice ¶
func GetDeReferencedSlice[T any](ptrObjects []*T) []T
GetDeReferencedSlice converts an array of pointers to an array of values
func GetMapOf ¶
func GetMapOf[K comparable, V comparable](sliceList []K, defaultValue V) map[K]V
GetMapOf returns a map with the specified sliceList as keys and defaultValue as values. for example, GetMapOf([1, 2, 3], "default") returns {1: "default", 2: "default", 3: "default"}
func GetMapValuesPtr ¶
GetMapValuesPtr returns a slice of pointers to the values of the map passed as an argument
func GetReferencedSlice ¶
func GetReferencedSlice[T any](objects []T) []*T
GetReferencedSlice converts an array of values to an array of pointers
func GetSliceOf ¶
func GetSliceOf[T any](element T) []T
GetSliceOf returns a slice containing the specified element. for example, GetSliceOf(1) returns [1]
func GetUniqueElements ¶
func GetUniqueElements[T comparable](sliceList []T) []T
GetUniqueElements returns a new slice containing only the unique elements of the specified sliceList. for example, GetUniqueElements([1, 2, 3, 2, 1]) returns [1, 2, 3]
func NewMapFromFuncExec ¶
func NewMapFromFuncExec[T any, K comparable](input []T, transform func(inp T) K) map[K]T
NewMapFromFuncExec applies the given function to each element of the input slice And returns a new map with the transformed elements as keys and the original elements as values NewMapFromFuncExec([1, 2, 3], func(x int) string { return strconv.Itoa(x) }) => {"1": 1, "2": 2, "3": 3} NewMapFromFuncExec([{Name: "John", Age: 25}, {Name: "Doe", Age: 30}], func(x Person) string { return x.Name }) => {"John": {Name: "John", Age: 25}, "Doe": {Name: "Doe", Age: 30}} Note: The keys of the map should be unique, otherwise the last element with the same key will be stored in the map
func NewSliceFromFuncExec ¶
NewSliceFromFuncExec applies the given function to each element of the input slice And returns a new slice with the transformed elements NewSliceFromFuncExec([1, 2, 3], func(x int) int { return x * 2 }) => [2, 4, 6]
Types ¶
This section is empty.