slicesutil

package
v0.64.3 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2024 License: MIT Imports: 5 Imported by: 10

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Dedupe

func Dedupe[S ~[]E, E comparable](s S) S

Dedupe returns a string slice with duplicate values removed. First observance is kept.

func ElementCounts added in v0.56.0

func ElementCounts[E comparable](s []E) map[E]int

func IndexValueOrDefault added in v0.54.0

func IndexValueOrDefault[E any](s []E, idx uint, def E) E

IndexValueOrDefault returns the value at the supplied index or a supplied default value.

func LengthCounts added in v0.61.1

func LengthCounts[E any](s [][]E) map[uint]uint

LengthCounts returns a `map[uint]uint` where the keys are element lengths and the values are counts of slices with those lengths.

func MakeMatrix2D added in v0.44.0

func MakeMatrix2D[E any](n, m int) [][]E

MakeMatrix2D returns a 2-dimensional matrix. Usage as follows `a := Make2D[uint8](dy, dx)`. Sourced from: https://stackoverflow.com/a/71781206/1908967

func MatchFilters added in v0.50.0

func MatchFilters[E comparable](s, inclFilters, exclFilters []E, inclAll bool) bool

func MatrixGetOneOrDefault added in v0.47.0

func MatrixGetOneOrDefault[C comparable](m [][]C, keyIdx uint, keyValue C, wantIdx uint, defaultValue C) C

func MatrixIntColSums added in v0.63.2

func MatrixIntColSums(m [][]int) []int

func NewWithDefault added in v0.48.0

func NewWithDefault[E any](size uint, d E) []E

NewWithDefault creates a slice of length `size` which values populated by default value `d`.

func Prepend added in v0.60.0

func Prepend[S ~[]E, E any](s []E, e E) []E

func Reverse added in v0.45.0

func Reverse[E comparable](s []E)

Reverse reverses the order of a slice.

func ReverseIndex added in v0.50.0

func ReverseIndex(n, i uint) uint

ReverseIndex returns the forward index value from the end of the string.

func Shift added in v0.60.0

func Shift[S ~[]E, E any](s S) (E, S)

func SliceIntSum added in v0.63.2

func SliceIntSum(s []int) int

func Sort added in v0.61.1

func Sort[E constraints.Ordered](s []E)

func SortSliceOfSlice added in v0.59.0

func SortSliceOfSlice[S ~[][]E, E constraints.Ordered | string](s S, indexes ...uint)

func Split added in v0.47.0

func Split[S ~[]E, E comparable](s S, n uint) []S

Split will split a slice into a slice of slices where each slice ha a max size `n`.

func SplitMaxLength added in v0.62.5

func SplitMaxLength[S ~[]E, E any](s S, maxLen uint) []S

SplitMaxLength returns a slice of slices where each sub-slice has the max length supplied. A supplied `maxLength` of `0` indicates no max length.

func Sub added in v0.45.0

func Sub[S ~[]E, E comparable](s, t S) S

Sub returns a string slice with duplicate values removed. First observance is kept.

func SubRegexpString added in v0.45.0

func SubRegexpString(s []string, r *regexp.Regexp) []string

Sub returns a string slice with duplicate values removed. First observance is kept.

func ToMatrix added in v0.47.0

func ToMatrix[S ~[]E, E comparable](s S) []S

func UniqueValues added in v0.47.0

func UniqueValues[S ~[]E, E comparable](s S) bool

Types

This section is empty.

Jump to

Keyboard shortcuts

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