Documentation ¶
Index ¶
- func Flatten[S ~[]E, E any](s []S) S
- func GroupByFunc[S ~[]E, E any, K comparable](s S, keyFunc func(E) K) map[K]S
- func MapAndGroupByFuncs[S ~[]E, E any, K comparable, V any](s S, keyFunc func(E) K, mapFunc func(E) V) map[K][]V
- func Partition[S ~[]E, E any](s S, n int) []S
- func PartitionToMaxLen[S ~[]E, E any](s S, maxLen int) []S
- func Subtract[T comparable](list []T, toRemove []T) []T
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Flatten ¶ added in v0.3.50
func Flatten[S ~[]E, E any](s []S) S
Flatten merges a slice of slices into a single slice.
func GroupByFunc ¶ added in v0.3.50
func GroupByFunc[S ~[]E, E any, K comparable](s S, keyFunc func(E) K) map[K]S
GroupByFunc groups the elements e_1, ..., e_n of s into separate slices by keyFunc(e).
func MapAndGroupByFuncs ¶ added in v0.3.50
func MapAndGroupByFuncs[S ~[]E, E any, K comparable, V any](s S, keyFunc func(E) K, mapFunc func(E) V) map[K][]V
MapAndGroupByFuncs groups the elements e_1, ..., e_n of s into separate slices by keyFunc(e) and then maps those resulting elements by mapFunc(e).
func Partition ¶ added in v0.3.50
Partition partitions the elements of s into n non-overlapping slices, such that some slices have len(s)/n+1 items and some len(s)/n items. Ordering is preserved, such that Flatten(Partition(s)) is equal to s.
func PartitionToMaxLen ¶ added in v0.3.50
PartitionToLen partitions the elements of s into non-overlapping slices, such that each such slice contains at most maxLen elements.
func Subtract ¶ added in v0.3.50
func Subtract[T comparable](list []T, toRemove []T) []T
Types ¶
This section is empty.