Skip to content

hymkor/go-iterator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-iterator

Go Reference

A simple iterator supporter

Example

package main

import (
    "fmt"
    "os"

    "github.com/hymkor/go-iterator"
)

func NewSequence(start, end int) *iterator.Iterator[int] {
    return iterator.New(func() (int, error) {
        if start > end {
            return -1, iterator.End
        }
        start++
        return start - 1, nil
    })
}

func main() {
    seq := NewSequence(1, 10)
    for seq.Next() {
        fmt.Println(seq.Value)
    }
    if err := seq.Err(); err != nil {
        fmt.Fprintln(os.Stderr, err.Error())
    }
}
1
2
3
4
5
6
7
8
9
10