mirror of
https://github.com/samber/lo.git
synced 2026-04-22 15:37:14 +08:00
fa095e4b4f
* fix(doc): fix go playground demo URL * fix(doc): add more go playground demo URL
1.2 KiB
1.2 KiB
name, slug, sourceRef, category, subCategory, playUrl, variantHelpers, similarHelpers, position, signatures
| name | slug | sourceRef | category | subCategory | playUrl | variantHelpers | similarHelpers | position | signatures | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MinByErr | minbyerr | find.go#L349 | core | find | https://go.dev/play/p/nvDYGS8q895 |
|
|
161 |
|
Searches the minimum value of a collection using the given comparison function. Returns the first minimal value; zero value and nil error when empty.
If the comparison function returns an error, iteration stops and the error is returned.
type Point struct{ X int }
min, err := lo.MinByErr([]Point{{1}, {5}, {3}}, func(a, b Point) (bool, error) {
return a.X < b.X, nil
})
// {1}, <nil>
Example with error:
type Point struct{ X int }
min, err := lo.MinByErr([]Point{{1}, {5}, {3}}, func(a, b Point) (bool, error) {
if a.X == 5 {
return false, fmt.Errorf("cannot compare with 5")
}
return a.X < b.X, nil
})
// {0}, error("cannot compare with 5")