mirror of
https://github.com/samber/lo.git
synced 2026-04-22 23:47:11 +08:00
e7386d9246
* Fix linting * Use is.ElementsMatch This will ignore the ordering of the final intersection. Especially important when checking old versions of go that do not guarantee an order when iterating through maps. * lint: fix inconsistent callback function parameter names * lint: rename "iteratee" to "transform" for *Map helpers * lint: rename "project" parameters to "transform" * lint: rename "cb" parameters to "callback" * lint: rename "iteratee" to "callback" for ForEach helpers --------- Co-authored-by: Franky W. <frankywahl@users.noreply.github.com> Co-authored-by: Samuel Berthe <dev@samuel-berthe.fr>
911 B
911 B
name, slug, sourceRef, category, subCategory, playUrl, similarHelpers, position, signatures, variantHelpers
| name | slug | sourceRef | category | subCategory | playUrl | similarHelpers | position | signatures | variantHelpers | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ForEach | foreach | parallel/slice.go#L32 | parallel | slice | https://go.dev/play/p/sCJaB3quRMC |
|
10 |
|
|
Iterates over elements of a collection and invokes the callback for each element in parallel.
import (
"fmt"
lop "github.com/samber/lo/parallel"
)
lop.ForEach([]string{"hello", "world"}, func(x string, _ int) {
fmt.Println(x)
})
// prints lines in any order depending on scheduling
Useful for fire-and-forget work like publishing events or independent side effects:
type Job struct{ ID int }
jobs := []Job{{1}, {2}, {3}}
lop.ForEach(jobs, func(j Job, _ int) {
// process each job concurrently
// send(j)
})