Help us shape the future of Go! Take the 2026 Go Developer Survey

collect

package
v1.20.0-alpha.1 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Count

func Count[T comparable](collection []T) (count int)

Count counts the number of elements in the collection.

func CountBy

func CountBy[T any](collection []T, predicate func(item T) bool) (count int)

CountBy counts the number of elements in the collection for which predicate is true.

func Diff

func Diff[T comparable](list1, list2 []T) []T

Diff creates a slice of slice values not included in the other given slice.

func Each

func Each[T any](collection []T, iteratee func(item T, index int))

Each iterates over elements of collection and invokes iteratee for each element.

func Filter

func Filter[V any](collection []V, predicate func(item V, index int) bool) []V

Filter iterates over elements of collection, returning an array of all elements predicate returns truthy for.

func GroupBy

func GroupBy[T any, U comparable](collection []T, iteratee func(item T) U) map[U][]T

GroupBy returns an object composed of keys generated from the results of running each element of collection through iteratee.

func Keys

func Keys[K comparable, V any](in map[K]V) []K

Keys creates an array of the map keys.

func LazyReduce

func LazyReduce[T, R any](lc *LazyCollection[T], fn func(R, T, int) R, initial R) R

func Map

func Map[T any, R any](collection []T, iteratee func(item T, index int) R) []R

Map manipulates a slice and transforms it to a slice of another type.

func Max

func Max[T cmp.Ordered](collection []T) T

Max searches the maximum value of a collection.

func Merge

func Merge[K comparable, V any](maps ...map[K]V) map[K]V

Merge merges multiple maps from left to right.

func Min

func Min[T cmp.Ordered](collection []T) T

Min search the minimum value of a collection.

func Reverse

func Reverse[T any](collection []T) []T

Reverse reverses array so that the first element becomes the last, the second element becomes the second to last, and so on.

func Shuffle

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

Shuffle returns an array of shuffled values. Uses the Fisher-Yates shuffle algorithm.

func Split

func Split[T any](collection []T, size int) [][]T

Split returns an array of elements split into groups the length of size. If array can't be split evenly,

func Sum

func Sum[T constraints.Float | constraints.Integer | constraints.Complex](collection []T) T

Sum sums the values in a collection. If collection is empty 0 is returned.

func Unique

func Unique[T comparable](collections ...[]T) []T

Unique returns a duplicate-free version of an array, in which only the first occurrence of each element is kept.

func Values

func Values[K comparable, V any](in map[K]V) []V

Values creates an array of the map values.

Types

type Collection

type Collection[T any] struct {
	// contains filtered or unexported fields
}

func New

func New[T any](items ...T) *Collection[T]

func Of

func Of[T any](items []T) *Collection[T]

func (*Collection[T]) After

func (c *Collection[T]) After(value T) *T

func (*Collection[T]) All

func (c *Collection[T]) All() []T

func (*Collection[T]) Avg

func (c *Collection[T]) Avg(keyFunc func(T) float64) float64

func (*Collection[T]) Before

func (c *Collection[T]) Before(value T) *T

func (*Collection[T]) Chunk

func (c *Collection[T]) Chunk(size int) [][]T

func (*Collection[T]) ChunkWhile

func (c *Collection[T]) ChunkWhile(predicate func(T, int, []T) bool) [][]T

func (*Collection[T]) Clone

func (c *Collection[T]) Clone() *Collection[T]

func (*Collection[T]) Collapse

func (c *Collection[T]) Collapse() *Collection[T]

func (*Collection[T]) Concat

func (c *Collection[T]) Concat(other *Collection[T]) *Collection[T]

func (*Collection[T]) Contains

func (c *Collection[T]) Contains(value T) bool

func (*Collection[T]) ContainsStrict

func (c *Collection[T]) ContainsStrict(value T) bool

func (*Collection[T]) Count

func (c *Collection[T]) Count() int

func (*Collection[T]) CountBy

func (c *Collection[T]) CountBy(keyFunc func(T) string) map[string]int

func (*Collection[T]) CrossJoin

func (c *Collection[T]) CrossJoin(other *Collection[T]) [][]T

func (*Collection[T]) Diff

func (c *Collection[T]) Diff(other *Collection[T]) *Collection[T]

func (*Collection[T]) DiffAssoc

func (c *Collection[T]) DiffAssoc(other *Collection[T]) *Collection[T]

func (*Collection[T]) DiffKeys

func (c *Collection[T]) DiffKeys(other *Collection[T]) *Collection[T]

func (*Collection[T]) DoesntContain

func (c *Collection[T]) DoesntContain(value T) bool

func (*Collection[T]) Dot

func (c *Collection[T]) Dot() map[string]any

func (*Collection[T]) Duplicates

func (c *Collection[T]) Duplicates() *Collection[T]

func (*Collection[T]) Each

func (c *Collection[T]) Each(fn func(T, int)) *Collection[T]

func (*Collection[T]) EachSpread

func (c *Collection[T]) EachSpread(fn func(...T)) *Collection[T]

func (*Collection[T]) EachUntil

func (c *Collection[T]) EachUntil(fn func(T, int) bool) *Collection[T]

func (*Collection[T]) Every

func (c *Collection[T]) Every(predicate func(T) bool) bool

func (*Collection[T]) Except

func (c *Collection[T]) Except(indices ...int) *Collection[T]

func (*Collection[T]) Filter

func (c *Collection[T]) Filter(predicate func(T, int) bool) *Collection[T]

func (*Collection[T]) First

func (c *Collection[T]) First() *T

func (*Collection[T]) FirstWhere

func (c *Collection[T]) FirstWhere(predicate func(T) bool) *T

func (*Collection[T]) FlatMap

func (c *Collection[T]) FlatMap(fn func(T) []T) *Collection[T]

func (*Collection[T]) ForPage

func (c *Collection[T]) ForPage(page, perPage int) *Collection[T]

func (*Collection[T]) Forget

func (c *Collection[T]) Forget(indices ...int) *Collection[T]

func (*Collection[T]) Get

func (c *Collection[T]) Get(index int) *T

func (*Collection[T]) Has

func (c *Collection[T]) Has(index int) bool

func (*Collection[T]) HasAny

func (c *Collection[T]) HasAny(indices ...int) bool

func (*Collection[T]) Intersect

func (c *Collection[T]) Intersect(other *Collection[T]) *Collection[T]

func (*Collection[T]) IntersectByKeys

func (c *Collection[T]) IntersectByKeys(other *Collection[T]) *Collection[T]

func (*Collection[T]) IsEmpty

func (c *Collection[T]) IsEmpty() bool

func (*Collection[T]) IsNotEmpty

func (c *Collection[T]) IsNotEmpty() bool

func (*Collection[T]) Join

func (c *Collection[T]) Join(separator string) string

func (*Collection[T]) KeyBy

func (c *Collection[T]) KeyBy(keyFunc func(T) string) map[string]T

func (*Collection[T]) Keys

func (c *Collection[T]) Keys() []int

func (*Collection[T]) Last

func (c *Collection[T]) Last() *T

func (*Collection[T]) Map

func (c *Collection[T]) Map(fn func(T, int) any) *Collection[any]

func (*Collection[T]) MapInto

func (c *Collection[T]) MapInto(target any) *Collection[any]

MapInto maps each element of the collection using reflection to cast to target type and returns a new collection of the target type

func (*Collection[T]) MapSpread

func (c *Collection[T]) MapSpread(fn func(...T) T) *Collection[T]

func (*Collection[T]) MapToDictionary

func (c *Collection[T]) MapToDictionary(keyFunc func(T) string) map[string][]T

func (*Collection[T]) MapToGroups

func (c *Collection[T]) MapToGroups(keyFunc func(T, int) string) map[string]*Collection[T]

func (*Collection[T]) MapWithKeys

func (c *Collection[T]) MapWithKeys(fn func(T) (string, T)) map[string]T

func (*Collection[T]) Max

func (c *Collection[T]) Max(keyFunc func(T) float64) float64

func (*Collection[T]) Median

func (c *Collection[T]) Median(keyFunc func(T) float64) float64

func (*Collection[T]) Min

func (c *Collection[T]) Min(keyFunc func(T) float64) float64

func (*Collection[T]) Mode

func (c *Collection[T]) Mode(keyFunc func(T) string) []string

func (*Collection[T]) Nth

func (c *Collection[T]) Nth(n int) *Collection[T]

func (*Collection[T]) Only

func (c *Collection[T]) Only(indices ...int) *Collection[T]

func (*Collection[T]) Pad

func (c *Collection[T]) Pad(size int, value T) *Collection[T]

func (*Collection[T]) Partition

func (c *Collection[T]) Partition(predicate func(T) bool) (*Collection[T], *Collection[T])

func (*Collection[T]) Pipe

func (c *Collection[T]) Pipe(fn func(*Collection[T]) any) any

func (*Collection[T]) Pluck

func (c *Collection[T]) Pluck(field string) *Collection[any]

func (*Collection[T]) Pop

func (c *Collection[T]) Pop() *T

func (*Collection[T]) Prepend

func (c *Collection[T]) Prepend(items ...T) *Collection[T]

func (*Collection[T]) Pull

func (c *Collection[T]) Pull(index int) *T

func (*Collection[T]) Push

func (c *Collection[T]) Push(items ...T) *Collection[T]

func (*Collection[T]) Put

func (c *Collection[T]) Put(index int, value T) *Collection[T]

func (*Collection[T]) Random

func (c *Collection[T]) Random() *T

func (*Collection[T]) Reduce

func (c *Collection[T]) Reduce(fn func(acc any, item T, index int) any, initial any) any

Reduce reduces the collection to a single value using the given reducer function

func (*Collection[T]) Reject

func (c *Collection[T]) Reject(predicate func(T, int) bool) *Collection[T]

func (*Collection[T]) Replace

func (c *Collection[T]) Replace(replacements map[int]T) *Collection[T]

func (*Collection[T]) Reverse

func (c *Collection[T]) Reverse() *Collection[T]

func (*Collection[T]) Search

func (c *Collection[T]) Search(value T) int

func (*Collection[T]) SearchBy

func (c *Collection[T]) SearchBy(predicate func(T) bool) int

func (*Collection[T]) Shift

func (c *Collection[T]) Shift() *T

func (*Collection[T]) Shuffle

func (c *Collection[T]) Shuffle() *Collection[T]

func (*Collection[T]) Skip

func (c *Collection[T]) Skip(n int) *Collection[T]

func (*Collection[T]) SkipUntil

func (c *Collection[T]) SkipUntil(predicate func(T) bool) *Collection[T]

func (*Collection[T]) SkipWhile

func (c *Collection[T]) SkipWhile(predicate func(T) bool) *Collection[T]

func (*Collection[T]) Slice

func (c *Collection[T]) Slice(offset int, length ...int) *Collection[T]

func (*Collection[T]) Sort

func (c *Collection[T]) Sort(less func(T, T) bool) *Collection[T]

func (*Collection[T]) SortBy

func (c *Collection[T]) SortBy(keyFunc func(T) string) *Collection[T]

func (*Collection[T]) SortByDesc

func (c *Collection[T]) SortByDesc(keyFunc func(T) string) *Collection[T]

func (*Collection[T]) SortDesc

func (c *Collection[T]) SortDesc(less func(T, T) bool) *Collection[T]

func (*Collection[T]) Splice

func (c *Collection[T]) Splice(start, deleteCount int, replacement ...T) *Collection[T]

func (*Collection[T]) Split

func (c *Collection[T]) Split(groups int) [][]T

func (*Collection[T]) Sum

func (c *Collection[T]) Sum(keyFunc func(T) float64) float64

func (*Collection[T]) Take

func (c *Collection[T]) Take(n int) *Collection[T]

func (*Collection[T]) TakeUntil

func (c *Collection[T]) TakeUntil(predicate func(T) bool) *Collection[T]

func (*Collection[T]) TakeWhile

func (c *Collection[T]) TakeWhile(predicate func(T) bool) *Collection[T]

func (*Collection[T]) Tap

func (c *Collection[T]) Tap(fn func(*Collection[T])) *Collection[T]

func (*Collection[T]) ToJson

func (c *Collection[T]) ToJson() (string, error)

func (*Collection[T]) Transform

func (c *Collection[T]) Transform(fn func(T, int) T) *Collection[T]

func (*Collection[T]) Union

func (c *Collection[T]) Union(other *Collection[T]) *Collection[T]

func (*Collection[T]) Unique

func (c *Collection[T]) Unique() *Collection[T]

func (*Collection[T]) UniqueBy

func (c *Collection[T]) UniqueBy(keyFunc func(T) string) *Collection[T]

func (*Collection[T]) Unless

func (c *Collection[T]) Unless(condition bool, fn func(*Collection[T]) *Collection[T]) *Collection[T]

func (*Collection[T]) UnlessEmpty

func (c *Collection[T]) UnlessEmpty(fn func(*Collection[T]) *Collection[T]) *Collection[T]

func (*Collection[T]) UnlessNotEmpty

func (c *Collection[T]) UnlessNotEmpty(fn func(*Collection[T]) *Collection[T]) *Collection[T]

func (*Collection[T]) Unshift

func (c *Collection[T]) Unshift(items ...T) *Collection[T]

func (*Collection[T]) When

func (c *Collection[T]) When(condition bool, fn func(*Collection[T]) *Collection[T]) *Collection[T]

func (*Collection[T]) WhenEmpty

func (c *Collection[T]) WhenEmpty(fn func(*Collection[T]) *Collection[T]) *Collection[T]

func (*Collection[T]) WhenNotEmpty

func (c *Collection[T]) WhenNotEmpty(fn func(*Collection[T]) *Collection[T]) *Collection[T]

func (*Collection[T]) Where

func (c *Collection[T]) Where(params ...any) *Collection[T]

func (*Collection[T]) WhereIn

func (c *Collection[T]) WhereIn(field string, values []any) *Collection[T]

func (*Collection[T]) WhereNotIn

func (c *Collection[T]) WhereNotIn(field string, values []any) *Collection[T]

func (*Collection[T]) WhereNotNull

func (c *Collection[T]) WhereNotNull(field string) *Collection[T]

func (*Collection[T]) WhereNull

func (c *Collection[T]) WhereNull(field string) *Collection[T]

func (*Collection[T]) Zip

func (c *Collection[T]) Zip(other *Collection[T]) [][]T

type LazyCollection

type LazyCollection[T any] struct {
	// contains filtered or unexported fields
}

func LazyFromChannel

func LazyFromChannel[T any](ch <-chan T) *LazyCollection[T]

func LazyFromFunc

func LazyFromFunc[T any](fn func() <-chan T) *LazyCollection[T]

func LazyGenerate

func LazyGenerate[T any](fn func(int) T, count int) *LazyCollection[T]

func LazyMap

func LazyMap[T, R any](lc *LazyCollection[T], fn func(T, int) R) *LazyCollection[R]

func LazyNew

func LazyNew[T any](items ...T) *LazyCollection[T]

func LazyOf

func LazyOf[T any](items []T) *LazyCollection[T]

func LazyRange

func LazyRange(start, end int) *LazyCollection[int]

func LazyRepeat

func LazyRepeat[T any](value T, count int) *LazyCollection[T]

func (*LazyCollection[T]) All

func (lc *LazyCollection[T]) All() []T

func (*LazyCollection[T]) Avg

func (lc *LazyCollection[T]) Avg(keyFunc func(T) float64) float64

func (*LazyCollection[T]) Chunk

func (lc *LazyCollection[T]) Chunk(size int) [][]T

func (*LazyCollection[T]) Collect

func (lc *LazyCollection[T]) Collect() *Collection[T]

func (*LazyCollection[T]) Contains

func (lc *LazyCollection[T]) Contains(value T) bool

func (*LazyCollection[T]) Count

func (lc *LazyCollection[T]) Count() int

func (*LazyCollection[T]) CountBy

func (lc *LazyCollection[T]) CountBy(keyFunc func(T) string) map[string]int

func (*LazyCollection[T]) Each

func (lc *LazyCollection[T]) Each(fn func(T, int)) *LazyCollection[T]

func (*LazyCollection[T]) Every

func (lc *LazyCollection[T]) Every(predicate func(T) bool) bool

func (*LazyCollection[T]) Filter

func (lc *LazyCollection[T]) Filter(predicate func(T, int) bool) *LazyCollection[T]

func (*LazyCollection[T]) First

func (lc *LazyCollection[T]) First() *T

func (*LazyCollection[T]) FirstWhere

func (lc *LazyCollection[T]) FirstWhere(predicate func(T) bool) *T

func (*LazyCollection[T]) FlatMap

func (lc *LazyCollection[T]) FlatMap(fn func(T) []T) *LazyCollection[T]

func (*LazyCollection[T]) IsEmpty

func (lc *LazyCollection[T]) IsEmpty() bool

func (*LazyCollection[T]) IsNotEmpty

func (lc *LazyCollection[T]) IsNotEmpty() bool

func (*LazyCollection[T]) Iterator

func (lc *LazyCollection[T]) Iterator() LazyIterator[T]

func (*LazyCollection[T]) Join

func (lc *LazyCollection[T]) Join(separator string) string

func (*LazyCollection[T]) Last

func (lc *LazyCollection[T]) Last() *T

func (*LazyCollection[T]) Map

func (lc *LazyCollection[T]) Map(fn func(T, int) any) *LazyCollection[any]

func (*LazyCollection[T]) Max

func (lc *LazyCollection[T]) Max(keyFunc func(T) float64) float64

func (*LazyCollection[T]) Min

func (lc *LazyCollection[T]) Min(keyFunc func(T) float64) float64

func (*LazyCollection[T]) Partition

func (lc *LazyCollection[T]) Partition(predicate func(T) bool) (*Collection[T], *Collection[T])

func (*LazyCollection[T]) Pluck

func (lc *LazyCollection[T]) Pluck(field string) *LazyCollection[any]

func (*LazyCollection[T]) Reject

func (lc *LazyCollection[T]) Reject(predicate func(T, int) bool) *LazyCollection[T]

func (*LazyCollection[T]) Reverse

func (lc *LazyCollection[T]) Reverse() *LazyCollection[T]

func (*LazyCollection[T]) Skip

func (lc *LazyCollection[T]) Skip(n int) *LazyCollection[T]

func (*LazyCollection[T]) SkipWhile

func (lc *LazyCollection[T]) SkipWhile(predicate func(T, int) bool) *LazyCollection[T]

func (*LazyCollection[T]) Sort

func (lc *LazyCollection[T]) Sort(less func(T, T) bool) *LazyCollection[T]

func (*LazyCollection[T]) SortBy

func (lc *LazyCollection[T]) SortBy(keyFunc func(T) string) *LazyCollection[T]

func (*LazyCollection[T]) Sum

func (lc *LazyCollection[T]) Sum(keyFunc func(T) float64) float64

func (*LazyCollection[T]) Take

func (lc *LazyCollection[T]) Take(n int) *LazyCollection[T]

func (*LazyCollection[T]) TakeWhile

func (lc *LazyCollection[T]) TakeWhile(predicate func(T, int) bool) *LazyCollection[T]

func (*LazyCollection[T]) Tap

func (lc *LazyCollection[T]) Tap(fn func(*LazyCollection[T])) *LazyCollection[T]

func (*LazyCollection[T]) ToJson

func (lc *LazyCollection[T]) ToJson() (string, error)

func (*LazyCollection[T]) Unique

func (lc *LazyCollection[T]) Unique() *LazyCollection[T]

func (*LazyCollection[T]) UniqueBy

func (lc *LazyCollection[T]) UniqueBy(keyFunc func(T) string) *LazyCollection[T]

func (*LazyCollection[T]) When

func (lc *LazyCollection[T]) When(condition bool, fn func(*LazyCollection[T]) *LazyCollection[T]) *LazyCollection[T]

func (*LazyCollection[T]) Where

func (lc *LazyCollection[T]) Where(params ...any) *LazyCollection[T]

func (*LazyCollection[T]) WhereIn

func (lc *LazyCollection[T]) WhereIn(field string, values []any) *LazyCollection[T]

func (*LazyCollection[T]) WhereNotIn

func (lc *LazyCollection[T]) WhereNotIn(field string, values []any) *LazyCollection[T]

func (*LazyCollection[T]) Zip

func (lc *LazyCollection[T]) Zip(other *LazyCollection[T]) [][]T

type LazyIterator

type LazyIterator[T any] interface {
	Next() (T, bool)
	Reset()
}

Jump to

Keyboard shortcuts

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