О чём не задумываются современные программисты Swift 5. Часть 2
В предыдущей заметке мы упомянули такие термины, как Expression (Выражение), Statement (Предписание) и Declarations (Объявление), а также подробно поговорили о первом из них. Продолжаем разговор.
Предписания (Statements) в Swift могут быть 3 типов
- Simple. Простые предписания есть почти в каждой строчке кода, когда вы пишите декларацию или выражение — это уже и есть простое предписание.
- Control Flow. К этому типу предписаний, управляющих потоком выполнения программы, относятся:
● циклы: for-in, while, repeat-while; ● ветвления: if, switch, guard; ● лейблы, об этой конструкции многие, пишущие на Swift, не знают, их можно ставить перед циклами и ветвлением и управлять потоком с помощью break/continue; ● предписания для передачи управления: break, continue, fallthrough, return, throw; ● defer-конструкция вызывается прямо перед передачей управления за пределы скоупа; ● do/catch предписание.
- Compiler Control. Управлять поведением компилятора на практике приходится не часто. В Swift есть 3 основных предписания, управляющих компилятором:
● блок условной компиляции (Conditional Compilation Block), где вы можете проверить окружение: тип операционной системы, архитектуру CPU, версию Swift, компилятора и другое; ● предписание управления строкой (Control Line Statement) #sourceLocation используется при генерации кода и мета-программировании; ● Compile-Time Diagnostic предписания, вызывающие ошибки #error и #warning.
Помимо этого, существует #available-условие для проверки доступности API во время выполнения программы.
Декларации (Declarations) в Swift также являются и Определениями (Definitions)
Декларациями являются названия конструкций языка, которые вы используете: var, let, function, import, class, struct, enum, protocol, init, deinit, extension, subscript, typealias, operator, precedencegroup. Объявление блока кода, т. е. фигурные скобки, является также видом декларации. Например, протоколы не имеют реализаций функций и свойств, это значит, что они являются декларациями.
У деклараций существуют модификаторы, изменяющие поведение декларируемой конструкции: dynamic, final, lazy, optional, required, unowned, weak. Также для деклараций можно указать один из 5 уровней доступа в Swift: open, public, internal, fileprivate, private.
Пожалуй, на сегодня всё. Но вы всегда можете узнать больше, записавшись на курс «iOS-разработчик».