mirror of
https://github.com/samber/lo.git
synced 2026-04-22 23:47:11 +08:00
1.0 KiB
1.0 KiB
name, slug, sourceRef, category, subCategory, signatures, variantHelpers, similarHelpers, position
| name | slug | sourceRef | category | subCategory | signatures | variantHelpers | similarHelpers | position | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PickByErr | pickbyerr | map.go#L117 | core | map |
|
|
|
65 |
Returns a map of the same type filtered by a key/value predicate. Returns an error if the predicate function fails, stopping iteration immediately.
m, err := lo.PickByErr(
map[string]int{"foo": 1, "bar": 2, "baz": 3},
func(key string, value int) (bool, error) {
if key == "bar" {
return false, fmt.Errorf("bar not allowed")
}
return value%2 == 1, nil
},
)
// map[string]int(nil), error("bar not allowed")
m, err := lo.PickByErr(
map[string]int{"foo": 1, "bar": 2, "baz": 3},
func(key string, value int) (bool, error) {
return value%2 == 1, nil
},
)
// map[string]int{"foo": 1, "baz": 3}, nil