РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
62 of 723 menu

Тип dynamic

Тип dynamic в Dart означает, что переменная может хранить значение любого типа. При объявлении переменной с типом dynamic проверка типа откладывается до момента выполнения программы. Это дает гибкость, но снижает безопасность типов: ошибки, связанные с неверным типом, становятся видны только во время выполнения. Переменной с типом dynamic можно присвоить число, строку, список, объект и любое другое значение, а затем заменить его значением другого типа.

Синтаксис

dynamic name = value;

Пример

Давайте объявим переменную с типом dynamic и присвоим ей сначала число, а затем строку:

void main() { dynamic value = 12345; print(value); value = 'abcde'; print(value); }

Результат выполнения кода:

12345 "abcde"

Пример

Давайте сохраним в переменной с типом dynamic список, а затем получим его элемент:

void main() { dynamic res = ['a', 'b', 'c', 'd', 'e']; print(res); print(res[2]); }

Результат выполнения кода:

[a, b, c, d, e] "c"

Пример

Давайте попробуем выполнить операцию, несовместимую с текущим типом значения. Так как тип dynamic не проверяется на этапе компиляции, ошибка возникнет во время выполнения:

void main() { dynamic value = 12345; print(value + 1); value = 'abcde'; print(value + 1); }

Результат выполнения кода:

12346 Unhandled exception: type 'String' is not a subtype of type 'num' of 'other'

Смотрите также

  • тип Type,
    который представляет тип объекта во время выполнения
  • тип nullable object,
    который допускает значение null
  • тип Record,
    который хранит несколько значений разных типов
  • тип Function,
    который представляет функцию как значение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить