1
0
mirror of https://github.com/golang/go synced 2024-11-15 11:20:30 -07:00
go/doc/next/6-stdlib/3-iter.md

30 lines
1.4 KiB
Markdown
Raw Normal View History

### Iterators
The new [iter] package provides the basic definitions for working with
user-defined iterators.
The [slices] package adds several functions that work with iterators:
- [All](/pkg/slices#All) returns an iterator over slice indexes and values.
- [Values](/pkg/slices#Values) returns an iterator over slice elements.
- [Backward](/pkg/slices#Backward) returns an iterator that loops over
a slice backward.
- [Collect](/pkg/slices#Collect) collects values from an iterator into
a new slice.
- [AppendSeq](/pkg/slices#AppendSeq) appends values from an iterator to
an existing slice.
- [Sorted](/pkg/slices#Sorted) collects values from an iterator into a
new slice, and then sorts the slice.
- [SortedFunc](/pkg/slices#SortedFunc) is like `Sorted` but with a
comparison function.
- [SortedStableFunc](/pkg/slices#SortedStableFunc) is like `SortFunc`
but uses a stable sort algorithm.
- [Chunk](/pkg/slices#Chunk) returns an iterator over consecutive
sub-slices of up to n elements of a slice.
The [maps] package adds several functions that work with iterators:
- [All](/pkg/maps#All) returns an iterator over key-value pairs from m.
- [Keys](/pkg/maps#Keys) returns an iterator over keys in m.
- [Values](/pkg/maps#Values) returns an iterator over values in m.
- [Insert](/pkg/maps#Insert) adds the key-value pairs from seq to m.
- [Collect](/pkg/maps#Collect) collects key-value pairs from seq into a new map and returns it.