0Pricing
Dart Academy · Урок

Вывод типа и явное указание типов

Когда добавлять аннотацию, а когда позволить 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 — локальная установка не требуется.

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

  1. Разбор var, final и const
  2. Основные типы: int, double, String, bool
  3. Вывод типа и явное указание типов
  4. Типы dynamic и Object
← Назад к Dart Academy