sliceutils¶
Functional programming utilities for slices, inspired by JavaScript Array methods and LINQ.
Overview¶
The sliceutils package provides type-safe generic functions for slice manipulation. All functions work with any slice type through Go generics and accept callback functions following JavaScript's Array method conventions (value, index, slice).
Categories¶
Functional Operations: Map, Filter, Reduce, ForEach Search Operations: Find, FindIndex, FindIndexes, FindLastIndex Predicates: Some, Every Set Operations: Union, Intersection, Difference, Unique Transformations: Reverse, Flatten, FlatMap, Chunk, Pluck LINQ-style: GroupBy, Partition, DistinctBy, CountBy, MinBy, MaxBy Utilities: Remove, EnsureUniqueAndAppend, Sum
When to use stdlib vs sliceutils¶
Use stdlib slices for:
- slices.Index(slice, value) - find index of value
- slices.Contains(slice, value) - check if slice contains value
- slices.Clone(slice) - copy a slice
- slices.Concat(slices...) - merge slices
- slices.Sort(slice) - sort a slice
Use sliceutils for: - Functional patterns with callbacks (Map, Filter, Reduce) - LINQ-style operations (GroupBy, Partition, DistinctBy) - Complex search operations (FindIndex with predicate) - Set operations (Union, Intersection, Difference)