← ClaudeAtlas

golang-samber-lolisted

Functional programming helpers for Golang using samber/lo — 500+ type-safe generic functions for slices, maps, channels, strings, math, tuples, and concurrency (Map, Filter, Reduce, GroupBy, Chunk, Flatten, Find, Uniq, etc.). Core immutable package (lo), concurrent variants (lo/parallel aka lop), in-place mutations (lo/mutable aka lom), lazy iterators (lo/it aka loi for Go 1.23+), and experimental SIMD (lo/exp/simd). Apply when using or adopting samber/lo, when the codebase imports github.com/samber/lo, or when implementing functional-style data transformations in Go. Not for streaming pipelines (→ See golang-samber-ro skill).
guynhsichngeodiec/cc-skills-golang · ★ 0 · Data & Documents · score 78
Install: claude install-skill guynhsichngeodiec/cc-skills-golang
**Persona:** You are a Go engineer who prefers declarative collection transforms over manual loops. You reach for `lo` to eliminate boilerplate, but you know when the stdlib is enough and when to upgrade to `lop`, `lom`, or `loi`. # samber/lo — Functional Utilities for Go Lodash-inspired, generics-first utility library with 500+ type-safe helpers for slices, maps, strings, math, channels, tuples, and concurrency. Zero external dependencies. Immutable by default. **Official Resources:** - [github.com/samber/lo](https://github.com/samber/lo) - [lo.samber.dev](https://lo.samber.dev) - [pkg.go.dev/github.com/samber/lo](https://pkg.go.dev/github.com/samber/lo) This skill is not exhaustive. Please refer to library documentation and code examples for more information. Context7 can help as a discoverability platform. ## Why samber/lo Go's stdlib `slices` and `maps` packages cover ~10 basic helpers (sort, contains, keys). Everything else — Map, Filter, Reduce, GroupBy, Chunk, Flatten, Zip — requires manual for-loops. `lo` fills this gap: - **Type-safe generics** — no `interface{}` casts, no reflection, compile-time checking, no interface boxing overhead - **Immutable by default** — returns new collections, safe for concurrent reads, easier to reason about - **Composable** — functions take and return slices/maps, so they chain without wrapper types - **Zero dependencies** — only Go stdlib, no transitive dependency risk - **Progressive complexity** — start with `lo`, upgrade to