Тип Iterable
Тип Iterable<E> обозначает последовательность
элементов типа E, которую можно перебрать
по одному. Сам тип не обещает ни индекс,
ни уникальность. List и Set - его подтипы,
поэтому их можно передать туда, где ждут
Iterable. Карта Map этим типом не является:
перебираются отдельно её ключи или значения.
Перебор записывается циклом for-in.
Синтаксис
Iterable<int> name = [1, 2, 3];
Iterable<int> name = {1, 2, 3};
Пример
Давайте возьмём список как последовательность и прочитаем её первый элемент и длину:
void main()
{
Iterable<int> res = [1, 2, 3];
print(res.first);
print(res.length);
}
Результат выполнения кода:
1
3
Пример
Давайте переберём элементы последовательности
циклом for-in:
void main()
{
Iterable<String> res = ['a', 'b', 'c'];
for (String item in res)
{
print(item);
}
}
Результат выполнения кода:
"a"
"b"
"c"
Пример
Давайте примем в функцию любую последовательность целых. Ей подойдут и список, и набор:
void show(Iterable<int> items)
{
for (int item in items)
{
print(item);
}
}
void main()
{
show([1, 2]);
show({3, 4});
}
Результат выполнения кода:
1
2
3
4