Back to Lo

Core Mapvalueserr

docs/data/core-mapvalueserr.md

1.53.0648 B
Original Source

Transforms map values using a predicate while keeping keys. Returns an error if the iteratee function fails, stopping iteration immediately.

go
in := map[int]int64{1: 1, 2: 2, 3: 3}
out, err := lo.MapValuesErr(in, func(v int64, _ int) (string, error) {
    if v == 2 {
        return "", fmt.Errorf("even number not allowed")
    }
    return strconv.FormatInt(v, 10), nil
})
// map[int]string(nil), error("even number not allowed")
go
in := map[int]int64{1: 1, 2: 2, 3: 3}
out, err := lo.MapValuesErr(in, func(v int64, _ int) (string, error) {
    return strconv.FormatInt(v, 10), nil
})
// map[int]string{1:"1", 2:"2", 3:"3"}, nil