|
- package iterator
-
- type ArrayIterator[T any] struct {
- arr []T
- index int
- }
-
- func (i *ArrayIterator[T]) MoveNext() (T, error) {
- if i.index >= len(i.arr) {
- var ret T
- return ret, ErrNoMoreItem
- }
-
- item := i.arr[i.index]
- i.index++
-
- return item, nil
- }
-
- func (i *ArrayIterator[T]) Close() {
- }
-
- func Array[T any](eles ...T) *ArrayIterator[T] {
- return &ArrayIterator[T]{
- arr: eles,
- }
- }
|