Когда добавлять явные аннотации
Добавляйте аннотации, чтобы устранить неоднозначность и задокументировать замысел.
«Когда добавлять явные аннотации» — бесплатный урок 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 — локальная установка не требуется.
Все уроки этого курса
- Как работает вывод типов
- Когда добавлять явные аннотации
- Вывод типов для литералов
- Вывод типов в замыканиях