sliceutil

package
v0.0.45 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2023 License: MIT Imports: 4 Imported by: 0

README

sliceutil

The package contains various helpers to interact with slices

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Clone

func Clone[T comparable](t []T) []T

Clone a slice through built-in copy

func Contains

func Contains[T comparable](inputSlice []T, element T) bool

Contains if a slice contains an element

func ContainsItems

func ContainsItems[T comparable](s1 []T, s2 []T) bool

ContainsItems checks if s1 contains s2

func Dedupe

func Dedupe[T comparable](inputSlice []T) (result []T)

Dedupe removes duplicates from a slice of elements preserving the order

func Diff

func Diff[V comparable](s1, s2 []V) (extraS1, extraS2 []V)

Diff calculates the extra elements between two sequences

func ElementsMatch

func ElementsMatch[V comparable](s1, s2 []V) bool

ElementsMatch 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.

func Equal

func Equal[T comparable](s1, s2 []T) bool

Equal checks if the items of two slices are equal respecting the order

func FirstNonZero

func FirstNonZero[T comparable](inputs []T) (T, bool)

FirstNonZero function takes a slice of comparable type inputs, and returns the first non-zero element in the slice along with a boolean value indicating if a non-zero element was found or not.

func IsEmpty

func IsEmpty[V comparable](s []V) bool

IsEmpty checks if the slice has length zero

func Merge

func Merge[V comparable](ss ...[]V) []V

Merge and dedupe multiple items

func MergeItems

func MergeItems[V comparable](items ...V) []V

Merge and dedupe multiple items into a

func PickRandom

func PickRandom[T any](v []T) T

PickRandom item from a slice of elements

func PruneEmptyStrings

func PruneEmptyStrings(v []string) []string

PruneEmptyStrings from the slice

func PruneEqual

func PruneEqual[T comparable](inputSlice []T, equalTo T) (r []T)

PruneEqual removes items from the slice equal to the specified value

func ToInt

func ToInt(s []string) ([]int, error)

ToInt converts a slice of strings to a slice of ints

func VisitRandom

func VisitRandom[T comparable](t []T, visit VisitFunc[T])

VisitRandom visits all items in the slice in random order and calls the specified function for each item

func VisitRandomZero

func VisitRandomZero[T comparable](t []T, visit VisitFunc[T])

VisitRandomZero visits all items in the slice in random order without allocations and calls the specified function for each item

func VisitSequential

func VisitSequential[T comparable](t []T, visit VisitFunc[T])

VisitSequential visits all items in the slice in sequential order and calls the specified function for each item

Types

type VisitFunc

type VisitFunc[T comparable] func(index int, item T) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL