Выбор ответа Middle Замыкания и захват обновлено

Замыкания в Swift: значение или ссылка

Вопрос

Что верно про замыкания в Swift?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Замыкание ссылочного типа: две константы делят захваченное состояние. Функции и замыкания в Swift ссылочные.

Варианты ответа

  1. Замыкание копируется при присваивании вместе с захваченными переменными
  2. Замыкание ссылочного типа: две константы делят захваченное состояниеправильный ответ
  3. Замыкание это структура с полем-функцией, копируемая как значение
  4. Замыкания одинакового типа можно сравнивать через == и ===

Разбор

Функции и замыкания в Swift ссылочные. Если замыкание-счётчик присвоить второй константе и вызвать через неё, счёт продолжится. Захваченные переменные при этом не копируются. Сравнивать замыкания нельзя: у функциональных типов нет Equatable (и даже === к ним неприменим).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.