slicetools

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Chunk

func Chunk[T interface{}](total int, preferred []T) [][]T

Chunk split slice into slices n length

func ChunkFor

func ChunkFor[T interface{}](items []T, itemsAmount int) [][]T

ChunkFor split slice into n slices

func Find

func Find[T any](opts FindOpts[T]) []T

Find ...

func FindOne

func FindOne[T any](opts FindOpts[T]) T

FindOne ...

func GetCrossOfSlices

func GetCrossOfSlices[T any](s1, s2 []T, compare func(T, T) bool) []T

GetCrossOfSlices returns common values for two slices

func Includes

func Includes[T uuid.UUID | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | string](values []T, v T) bool

Includes check if slice contains value

func Merge

func Merge[T any](in ...[]T) []T

Merge input slices into single slice

func Paginate

func Paginate[T any](in []T, offset int, limit int) []T

Paginate slice with offset & limit

func Pop

func Pop[T any](in []T, index int) []T

Pop value from slice by index

func RandomValueOfSlice

func RandomValueOfSlice[T any](randSrc func(float64) (float64, error), in []T) (T, error)

RandomValueOfSlice ...

func RandomValueOfSliceNorm

func RandomValueOfSliceNorm[T any](meanIndex float64, in []T) (T, error)

RandomValueOfSliceNorm ...

func RandomValuesOfSlice

func RandomValuesOfSlice[T any](randSrc func(float64) (float64, error), in []T, amount int) ([]T, error)

RandomValuesOfSlice ...

func Shuffle

func Shuffle[T any](in []T) []T

Shuffle slice values order

func SliceToAnySlice

func SliceToAnySlice[T any](in []T) []any

SliceToAnySlice casts any slice to slice of any type

func Unique

func Unique[T uuid.UUID | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64 | string](sl []T) []T

Unique primitive values slice

Types

type FindOpts

type FindOpts[T any] struct {
	Elements []T
	Callback func(T) bool
	Strict   bool
}

FindOpts ...

Jump to

Keyboard shortcuts

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