Вывод типа и явное указание типов
Когда добавлять аннотацию, а когда позволить Dart решить самому
«Вывод типа и явное указание типов» — бесплатный урок Dart Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Dart Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Dart Academy содержит 4 уроков всего.
Два способа объявить переменную
Вы можете указать тип самостоятельно или позволить Dart вывести его. В обоих случаях в итоге создаётся одна и та же строго типизированная переменная.
Явные типы говорят всё сразу
При явном объявлении тип указывается заранее. Это понятно и удобно для самодокументируемого кода, который читают другие люди.
int total = 42;Вывод типа позволяет Dart решить
При использовании var Dart выводит тип из значения справа. Печатать приходится меньше, а безопасность остаётся прежней, поскольку тип всё равно фиксируется.
var total = 42; // inferred intВывод типа — это не dynamic
Выведенный тип не означает отсутствие ограничений. Переменная var всё равно получает один конкретный тип и позже отклоняет несовместимые присваивания.
var name = "Sam";
// name = 5; // errorКогда указывать тип явно
Указывайте тип явно, когда по одному значению его нельзя определить однозначно, например у пустого списка, чтобы читатели точно знали, что он содержит.
List<int> scores = [];Вывод типа учитывает литерал
Dart смотрит на записанный вами литерал: точка означает double, а её отсутствие — int. Форма литерала определяет выбор.
var x = 5; // int
var y = 5.0; // doubleТип возвращаемого значения функции тоже выводится
При вызове функции var автоматически выводит тип переменной из типа, который возвращает эта функция.
var s = "hi".toUpperCase(); // StringЯвные типы выявляют ошибки
Объявление явного типа позволяет Dart сразу сообщить о неправильном значении, ещё до запуска программы.
int count = "ten"; // compile errorЧитаемость против краткости
Здесь приходится выбирать: явные типы повышают понятность, а вывод типа делает строки короче. В общем коде отдавайте предпочтение понятности.
Оба варианта используют статическую типизацию
Что бы вы ни выбрали, в Dart используется статическая типизация. Тип фиксируется во время компиляции и не меняется во время выполнения.
Практическое правило
Позволяйте Dart выводить тип, когда значение очевидно, а тип указывайте явно, когда он добавляет смысл. Стремитесь писать код, понятный без пояснений.
Быстрая проверка
Что на самом деле делает var с типом переменной?
Повторение: выведенный и явный тип
Вы увидели, что явные типы документируют намерение, а вывод типа делает код короче. В обоих случаях типизация остаётся статической и безопасной. 👍
Часто задаваемые вопросы
Урок «Вывод типа и явное указание типов» бесплатный?
Да — полный текст урока «Вывод типа и явное указание типов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Dart Academy, подпишись на CoddyKit PRO. Курс Dart Academy содержит 4 уроков всего.
Чему я научусь в уроке «Вывод типа и явное указание типов»?
Когда добавлять аннотацию, а когда позволить Dart решить самому Ты практикуешь Dart Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Dart Academy?
Предыдущий опыт не требуется. Dart Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Вывод типа и явное указание типов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Dart Academy?
Да. Каждый урок Dart Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Разбор var, final и const
- Основные типы: int, double, String, bool
- Вывод типа и явное указание типов
- Типы dynamic и Object