/arrayOperations

Small library for performing union, intersect, difference and distinct operations on slices in goLang

Primary LanguageGoMIT LicenseMIT

Build Status Coverage Status Go Report Card GoDoc

arrayOperations

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 :)

Quickstart

var a = []int{1, 1, 2, 3}
var b = []int{2, 4}

diff := Difference[int](a, b)

// []int{1, 3, 4}
fmt.Println(diff)

API

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

Docs are available, here

License

MIT