О чём не задумываются современные программисты Swift 5. Часть 2 | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
iOS Developer. Professional Kotlin Backend Developer Flutter Mobile Developer Symfony Framework C++ Developer. Basic Unity Game Developer. Basic Java Developer. Professional
-35%
Highload Architect Unity Game Developer. Professional React.js Developer Специализация Java-разработчик
-25%
Алгоритмы и структуры данных
-16%
Scala-разработчик C# Developer. Professional
-23%
Разработчик голосовых ассистентов и чат-ботов Team Lead Архитектура и шаблоны проектирования NoSQL Web-разработчик на Python Golang Developer. Professional PostgreSQL Vue.js разработчик Супер-практикум по использованию и настройке GIT Разработчик IoT Подготовка к сертификации Oracle Java Programmer (OCAJP) Программист С HTML/CSS
Инфраструктура
Инфраструктурная платформа на основе Kubernetes Microservice Architecture Базы данных Highload Architect Reverse-Engineering. Professional
-8%
Network engineer. Basic Administrator Linux.Basic MongoDB Infrastructure as a code MS SQL Server Developer Cloud Solution Architecture Мониторинг и логирование: Zabbix, Prometheus, ELK Супер-практикум по использованию и настройке GIT Разработчик IoT Экcпресс-курс «ELK» Супер-интенсив "Tarantool" Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» Экспресс-курс «Введение в непрерывную поставку на базе Docker»
Корпоративные курсы
Безопасность веб-приложений Экосистема Hadoop, Spark, Hive Пентест. Практика тестирования на проникновение Node.js Developer Java QA Engineer. Basic
-18%
Reverse-Engineering. Professional
-8%
DevOps практики и инструменты NoSQL Reverse-Engineering. Basic Cloud Solution Architecture Внедрение и работа в DevSecOps Супер-практикум по работе с протоколом BGP Game QA Engineer Супер - интенсив по Kubernetes Дизайн сетей ЦОД Экспресс-курс «IaC Ansible» Экспресс-курс по управлению миграциями (DBVC) Экспресс-курс "Версионирование и командная работа с помощью Git" Основы Windows Server
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

О чём не задумываются современные программисты Swift 5. Часть 2

iOS_Deep_1.11_2-5020-7c13cc.png

В предыдущей заметке мы упомянули такие термины, как Expression (Выражение), Statement (Предписание) и Declarations (Объявление), а также подробно поговорили о первом из них. Продолжаем разговор.

Предписания (Statements) в Swift могут быть 3 типов

  1. Simple. Простые предписания есть почти в каждой строчке кода, когда вы пишите декларацию или выражение — это уже и есть простое предписание.
  2. Control Flow. К этому типу предписаний, управляющих потоком выполнения программы, относятся:

● циклы: for-in, while, repeat-while; ● ветвления: if, switch, guard; ● лейблы, об этой конструкции многие, пишущие на Swift, не знают, их можно ставить перед циклами и ветвлением и управлять потоком с помощью break/continue; ● предписания для передачи управления: break, continue, fallthrough, return, throw; ● defer-конструкция вызывается прямо перед передачей управления за пределы скоупа; ● do/catch предписание.

  1. Compiler Control. Управлять поведением компилятора на практике приходится не часто. В Swift есть 3 основных предписания, управляющих компилятором:

● блок условной компиляции (Conditional Compilation Block), где вы можете проверить окружение: тип операционной системы, архитектуру CPU, версию Swift, компилятора и другое; ● предписание управления строкой (Control Line Statement) #sourceLocation используется при генерации кода и мета-программировании; ● Compile-Time Diagnostic предписания, вызывающие ошибки #error и #warning.

Помимо этого, существует #available-условие для проверки доступности API во время выполнения программы.

3-20219-11b5c9.png

Декларации (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-разработчик».

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться