О чём не задумываются современные программисты Swift 5. Часть 1
Expressions, Statements и Declarations — три важных термина, о которых разработчики либо не знают, либо не понимают смысл их различий.
Если кратко: 1. Expression (выражение) – что-либо, что устанавливает/создаёт значение; 2. Statement (предписание) – строчка кода, которая делает что-либо. Ничего не возвращает; 3. Declarations (объявление) – указание идентификатора (признака объекта), используется, чтобы уведомить компилятор о существовании элемента.
Зачем это знать?
Как минимум, чтобы разбираться в синтаксических и лексических конструкциях изучаемого вами языка программирования и понимать, как ваш код будет скомпилирован и будет исполняться. Также это хорошее теоретическое подспорье, чтобы пользоваться продвинутыми возможностями языка Swift, например, для создания своих операторов.
В Swift 5 эти концепты достаточно хорошо выражены.
Выражения (Expressions) в Swift делятся на 4 типа
Primary
Первичных выражений больше других в коде, написанном на языке Swift, они участвуют в остальных трёх видах выражений. Среди первичных выражений выделяют подтипы:
— литеральные – объявление в коде значения-литерала числа, строки, массива или словаря;
— Self-выражения – выражения с использованием указателя на текущий экземпляр типа self;
— Superclass-выражения – аналогично предыдущему выражения с super-указателем;
— замыкания (Closures) – конструкция объявления замыкания (их также называют лямбды и анонимные функции);
— листы захвата (capture list) замыкания – конструкции для управления тем, как будут захвачены значения, окружающие замыкание;
— неявное обращение к элементу типа (Implicit Member Expression), например, обращение к элементу перечисления или статистическому методу типа;
— выражение в скобках;
— кортеж (Tuple);
— символ подстановки
Binary
Бинарные выражения похожи на бинарные операции в математике: два аргумента, а между ними оператор (infix operator). Самый явный пример – оператор присваивания
Prefix
Примером префиксного выражения является выражение с оператором try.
Postfix
Постфиксных выражений также немало в Swift:
— вызов функции является самым явным postfix expression;
— вызов
В следующей публикации поговорим с вами о Statements и Declarations, не пропустите!