Small utility library for performing common operations on slices in golang.
I don't promise that these are optimized (not even close!), but they work :)
var a = []int{1, 1, 2, 3}
var b = []int{2, 4}
diff := Difference[int](a, b)
// []int{1, 3, 4}
fmt.Println(diff)
FindOne[T any](arr []T, guard func(T) bool) (T, bool)
Reduce[T, A any](arr []T, fn func(A, T) A, init A) A
Filter[T any](arr []T, guard func(T) bool) []T
Map[T any](arr []T, transform func(T) T) []T
Distinct[T comparable](arrs ...[]T) []T
Intersect[T comparable](arrs ...[]T) []T
Union[T comparable](arrs ...[]T) []T
Difference[T comparable](arrs ...[]T) []T
Docs are available, here
MIT