Swift Academy · Урок

Когда добавлять явные аннотации

Добавляйте аннотации, чтобы устранить неоднозначность и задокументировать замысел.

Урок 2 из 413 шагов

«Когда добавлять явные аннотации» — бесплатный урок Swift Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.

Зачем явно указывать тип

Несмотря на мощь вывода типов, явное указание типа повышает ясность, устраняет неоднозначность и документирует намерение.

let temperature: Double = 36
print(temperature)
print(type(of: temperature))

Принудительный выбор Double

Без явного указания типа let x = 5 создаёт значение типа Int. Укажите тип явно, чтобы получить Double, если позже Вам понадобятся вычисления с дробями.

let count: Double = 5
let average = count / 2
print(average)

Пустые коллекции

У пустого литерала нет элементов, из которых можно вывести тип, поэтому Вам нужно указать тип явно.

var scores: [Int] = []
scores.append(10)
print(scores)

Пустой словарь

То же правило действует для пустых словарей: явно укажите типы и ключа, и значения.

var ages: [String: Int] = [:]
ages["Ada"] = 36
print(ages)

Устранение неоднозначности перегрузок

Когда подходят несколько инициализаторов, явное указание типа сообщает компилятору, какой именно Вы имеете в виду.

let small: Int8 = 100
let big: Int64 = 100
print(type(of: small), type(of: big))

Документирование сохраняемых значений

Для хранимых свойств явное указание типов обязательно и служит документацией для читателей.

struct Account {
    var balance: Double = 0
    var owner: String = "Unknown"
}
let a = Account()
print(a.balance, a.owner)

Явное указание для удобства чтения

Для длинных или неочевидных выражений явное указание типа помогает читателям сразу понять тип результата.

let ratio: Double = 22 / 7
print(ratio)

Типы optional

Часто типы optional указывают явно, потому что один только nil не имеет типа, который можно вывести.

var nickname: String? = nil
nickname = "Ace"
print(nickname ?? "none")

Замыкания, возвращающие ничего

Если тип сохраняемого замыкания может быть неоднозначным, укажите его полностью.

let action: () -> Void = {
    print("ran")
}
action()

Преобразования числовых литералов

Явное указание типа позволяет одному и тому же литералу использоваться с разными числовыми типами без ручных вызовов преобразования.

let cpu: UInt8 = 255
let wide: UInt32 = 255
print(cpu, wide)

Баланс между выводом и явным указанием

Практическое правило: позволяйте выводу типов обрабатывать очевидные случаи, а явно указывайте тип, если он неоднозначен, если это повышает ясность или если это обязательно — для пустых коллекций, свойств и параметров.

let obvious = "clear"       // inference is fine
let precise: Double = 9     // annotation needed
print(obvious, precise)

Быстрая проверка

Когда необходимо явно указать тип?

Итоги

Добавляйте явное указание типа, чтобы выбрать конкретный числовой тип, объявить пустые коллекции и optional, устранить неоднозначность перегрузок, а также документировать свойства и API. В остальных случаях позволяйте выводу типов сохранять код чистым.

var list: [String] = []
let rate: Double = 5
print(list, rate)
Можно начать бесплатно

Изучай Swift с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
122
Уроки
409

Часто задаваемые вопросы

Урок «Когда добавлять явные аннотации» бесплатный?

Да — полный текст урока «Когда добавлять явные аннотации» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.

Чему я научусь в уроке «Когда добавлять явные аннотации»?

Добавляйте аннотации, чтобы устранить неоднозначность и задокументировать замысел. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Swift Academy?

Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Когда добавлять явные аннотации»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Swift Academy?

Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Как работает вывод типов
  2. Когда добавлять явные аннотации
  3. Вывод типов для литералов
  4. Вывод типов в замыканиях
← Назад к Swift Academy