Операторы Инкремента и Декремента

Как и в C, в Swift есть операторы инкремента ( ++ ) и декремента ( — ) как упрощенный вариант ( shortcut ) для увеличения и уменьшения значения числовой переменной на 1. Вы можете использовать эти операторы с переменными целого типа и с плавающей запятой.

Каждый раз когда Вы вызываете ++i , значение i увеличивается на 1. По существу, ++i это сокращенный способ сказать i = i + 1. Также, —i используется для сокращения i = i — 1.

Символы ++ и — могут быть использованы как префикс и постфикс. ++i и i++ — оба выражения допустимые способы увеличить значение i на 1. Точно как, —i и i— -допустимые способы уменьшить значение i на 1.

Заметьте что эти операторы изменяют i и также возвращают значение. Если вы хотите только уменьшить или увеличить значение, хранимое в i, достаточно игнорировать возвращаемое значение. И если вы используете возвращаемое значение, оно будет различным, в зависимости от того, используете вы префиксную или постфиксную версию оператора, в соответствии со следующими правилами :

  • Если оператор написан перед переменной, он инкрементирует переменную перед тем как вернуть её значение.
  • Если оператор написан после переменной, он инкрементирует переменную после того как вернет значение.

В примере выше, let b= ++a увеличивает a перед возвращением значения. Поэтому a и b равны 1. Также , let c = a++ увеличивает a после возвращения значения . Т.е. c получает старое значение 1, инкрементится a и становится равным 2.

За исключением, когда вам нужно специфичное поведение i++, рекомендуется использовать ++i и —i во всех случай, потому что у них типичное поведение изменения и возвращения значения.


Просмотренно: 1 378 раз