Основы Swift / 2.2. Константы и переменные


Видео


Константы и переменные
Константы и переменные - это некоторые именованные хранилища для какой-либо величины. Константы и переменные имеют имя (как maximumNumberOfGuests [максимальное количество гостей] или welcomeMessage [приветственное сообщение]), связанное со значением конкретного типа (как число 5 или строка "Привет"). Значение константы не может быть изменено после его задания, тогда как значение переменной может быть заменено на другое в будущем. В следующим примере показано, как задаются константы и переменные:

Этот код может быть прочитан как:

"Объявить новую константу с именем maximumNumberOfGuests и присвоить ей значение 5. Затем объявить переменную currentNumberOfGuests и задать ей значение 0." Переменные и константы должны быть объявлены перед использованием. Вы можете объявить константы с помощью ключевого слова let и переменные с помощью ключевого слова var. Так в примере выше мы задали константу maximumNumberOfGuests для установки максимального количества гостей в нашем гипотетическом заведении с изначальным значением 5. Она объявлена постоянной величиной, так как в течение дня маловероятно изменение максимально допустимого количества посетителей. Другая же величина, currentNumberOfGuests, для отслеживания текущего числа посетителей задана как переменная: очевидно, что текущее значение посетителей может меняться от открытия до закрытия заведения.

Действие по созданию новых переменных называется их объявлением или определением.

Из этого примера также следует, что выбор переменной или константы для величины может (и часто должен) обусловлен моделированием объектов реального мира (для того и служит программирование - перенести объекты реального мира в качестве моделей в компьютерную программу).

Знак равенства (=) используется в качестве оператора присваивания. В данном случае с его помощью задаются изначальные значения констант и переменных. Swift требует придерживаться стиля оператора присваивания, при котором по обе стороны от него ставятся пробелы.

@{2.2\1}
                    
let maximumNumberOfGuests = 5 // константа
var currentNumberOfGuests = 0 // переменная
                    
                
Объявление нескольких констант или переменных на одной строке
Вы можете объявить несколько констант или переменных на одной строке, разделив их запятыми:
@{2.2\2}
                    
var x = 0.0, y = 0.0, z = 0.0
                    
                
Изменение значения переменной
Вы можете изменить значение существующей переменной на другое совместимого типа. В этом примере значение friendlyWelcome меняется с "Hello!" на "Bonjour!":
@{2.2\3}
                    
var friendlyWelcome = "Hello!"
friendlyWelcome = "Bonjour!"
                    
                
Изменение значения константы
В отличие от переменной, значение константы не может быть изменено с момента её инициализации. Попытка сделать это будет расценена как ошибка, когда Ваш код будет компилироваться:
@{2.2\4}
                    
let languageName = "Swift"
languageName = "Swift++"
                    
                
Как будет выполняться программа
С левой стороны Вашего редакторы Вы могли заметить числа - это номера строк кода. Код выполняется строка за строкой. В дальнейшем мы рассмотрим ветвления как ситуации некоторого отхода от этого правила, однако на данный момент Вы должны запомнить, что код выполняется последовательно в общем случае и не может сделать того, чего Вы ему не скажете. То, что Вы пишите на каждой строчке называется выражением или инструкцией.
О дробных числах и их записи
В России дробным или десятичным разделителем является запятая, то есть знак между целой и дробной частью в записи десятичной дроби. Например: в записи 1023,442 целой частью является 1023; дробной - 442; а разделителем - (,) . В англоязычных странах в большинстве своём десятичным разделителем выступает знак точки (.). Однако в русскоязычных локализациях многих операционных систем так же используется именно знак точки, поэтому в примере выше запись 0.0 эквивалентна 0,0.
О константах, переменных, значениях и величинах
С точки зрения логики константы и переменные являются почти что одним и тем же: разница состоит в том, что переменные могут менять значение, а константы - нет. На практике компилятор Swift использует различные механизмы оптимизации на основе того, может или нет измениться значение. Поэтому всегда старайтесь задавать величину константной, если Вы знаете, что ей не придётся изменяться.

В английском языке существует слово Value, что в программировании можно трактовать как "значение" или "величина". Оно может быть использовано и как для отражения значения какой-то константы или переменной, так и для обобщения этих двух терминов. Так можно сказать:
  • Переменная величина.
  • Константная или же постоянная величина.
Однако ввиду всего вышеописанного в некоторых книгах, посвящённых программированию, константы и переменные называют просто переменными.
Об английских названиях
И хотя основной целью является обучить программированию на Swift всех, начиная от новичков без опыта программирования и знаний английского языка и заканчивая теми, кто уже знаком с программированием на основе других языков. Для упрощения понимания кода, конструкции в Swift строятся так, будто это обычный человеческий язык, таким образом, полезным будет знать основы английского языка, так как весь синтаксис языка Swift представлен на английском.