Back to Lo

It Find

docs/data/it-find.md

1.53.0626 B
Original Source

Searches for an element in a sequence based on a predicate function. Returns the element and true if found, zero value and false if not found.

Examples:

go
seq := func(yield func(int) bool) {
    _ = yield(10)
    _ = yield(20)
    _ = yield(30)
    _ = yield(40)
}
found, ok := it.Find(seq, func(x int) bool {
    return x > 25
})
// found == 30, ok == true
go
seq := func(yield func(string) bool) {
    _ = yield("apple")
    _ = yield("banana")
    _ = yield("cherry")
}
found, ok := it.Find(seq, func(s string) bool {
    return len(s) > 10
})
// found == "", ok == false (no element longer than 10 chars)