go/doc/next/6-stdlib/3-iter.md

32 lines
1.5 KiB
Markdown
Raw Normal View History

### Iterators
The new [`iter` package](/pkg/iter/) provides the basic definitions for
working with user-defined iterators.
The [`slices` package](/pkg/slices/) 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](/pkg/maps/) 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.