Write a function that returns iter.Seq[T] and uses a yield callback to emit values one by one.
func MyIterator(items []string) iter.Seq[string] {
return func(yield func(string) bool) {
for _, item := range items {
if !yield(item) {
return
}
}
}
}
Use it with a for loop: for item := range MyIterator(data) { /* use item */ }.