Циклы
#
Содержание:- Цикл for
- Array for
- Map for
- Range (диапазон) for
- Condition (условие) for
- Bare for
- C for
- Labelled break & continue
#
Цикл ForВ V есть только одно ключевое слово цикла: for
, имеющее несколько форм.
for
/in
#
Это наиболее распространенная форма. Ее можно использовать с массивом, картой или числовым диапазоном.
for
#
Array Форма for value in arr
используется для перебора элементов массива. Если требуется индекс, можно использовать альтернативную форму for index, value in arr
.
Обратите внимание, что значение доступно только для чтения. Если вам нужно изменить массив во время цикла, необходимо объявить элемент как изменяемый (mut
):
Если идентификатор состоит из одного символа подчеркивания ( _
), он игнорируется.
for
#
Map Ключ или значение можно игнорировать используя нижнее подчеркивание в качестве идентификатора.
for
#
Range low..high
означает диапазон, который представляет все значения от low
до high
, но не включая high.
for
#
Condition Эта форма цикла похожа на циклы while
в других языках. Цикл прекратит итерацию, как только условие логического типа будет оценено как false.
for
#
Bare Условие может быть опущено, что приведет к бесконечному циклу.
for
#
C Наконец, существует традиционный цикл for
в стиле языка Си. Он более безопасен, чем форма while
, поскольку в последнем случае легко забыть обновить счетчик и застрять в бесконечном цикле.
Здесь i
не нужно объявлять с mut
, поскольку он всегда будет изменяемым по определению.
#
Labelled break & continuebreak
и continue
управляют самым внутренним циклом for
. Вы также можете использовать break
и continue
с последующим именем метки (outer
) для ссылки на внешний цикл for
:
Метка должна непосредственно предшествовать внешнему (outer
) циклу. Приведенный выше код печатает: