I find that Mathematica has the iterator data structure. We can build some iterators like this:
Constant iterator
GeneralUtilities`ConstantIterator[5]

Key value iterator
GeneralUtilities`KeyValueIterator[<|a -> x, b -> y, c -> z|>]

Range iterator
GeneralUtilities`RangeIterator[9]

We can find all iterator functions with
Names["GeneralUtilities`*Iterator*"]
But I don't know how to process the iterator, as Mathematica has no function like next on Python:
>>> string='FhC'
>>> it=iter(string)
>>> next(it)
'F'
>>> next(it)
'h'
Update
Michael E2's answer clear this problem a lot,But I hope the DelegateIterator, IteratorGraph, JoinMapIterator, SingletonIterator, StreamIterator, TerminatorIterator and ToIterator can be discussed still.
GeneralUtilities`sometimes changes.) – Michael E2 Jan 22 '17 at 21:25