Все объекты в Dart наследуются от базового типа Object. Это аналог Object в Java. В нем также есть метод hasCode () и аналог equals, который заменяет оператор сравнения ==
Так же в классе Object присутствует метод toString ()
Встроенные типы включают:
– Числовые (num и его наследники int и double)
– Строковые (strings)
– Булевы (Booleans)
– Списки, или массивы (list)
– Сеты (set)
– Мапы (map)
– Руны (for expressing Unicode characters in a string)
– Символы (symbols)
int – Целочисленные переменные. На виртуальной машине Dart диапазон составляет от -2 63 до 2 63—1
Примечание: При компиляции в JavaScript диапазон int-a -2 53 до 2 53—1
double – 64-битные числа с плавающей запятой
И intи doubleнаследуются от типа num
String
Строковые переменные в Dart представляют собой последовательности из UTF-16 символов. Для инициализации можно использовать как двойные, так и одинарные кавычки:
Значения переменных можно использовать в строках с помощью конструкции $ {выражение}
bool
Для создания булевых переменных в Dart существует ключевое слово bool. При инициализации можно использовать литералы true и false. То есть, инициализация bool b = 0; – некорректна, правильно
List
Списки – это коллекции проиндексированных объектов. Примеры объявления и инициализации списков:
Для инициализации в Dart 2.3 добавлен спред оператор – троеточие – с помощью него можно добавить в список множество значений:
Sets
Сеты – это неупорядоченные наборы уникальных элементов. В Dart для того, чтобы создать сет, нужно использовать фигурные скобки для непустого набора и фигурные скобки в сочетании с угловыми и типом объектов для пустого:
Maps
Мапы – это наборы данных в формате ключ-значение. Ключами, как и значениями, могут быть объекты любых типов. Каждый ключ является уникальным, значения могут быть разными, а могут дублироваться. Посмотрим на примере:
Альтернативные способы инициализации
Runes
Dart поддерживает руны – спецсимволы юникод. Используйте, если хотите добавить смайлики. Попробуйте запустить в dartpad
В языке также присутствуют ключевые слова final и const.
Если переменную не планируется изменять, то следует задать ей модификатор final перед типом или словом var. Такая переменная может быть проинициализирована единожды. Переменные const неявно считаются final. Такие переменные используются для задания констант на этапе компиляции.
В Dart даже функции являются объектами. Это значит, что функции можно назначать переменным и передавать в качестве аргументов в другие функции. Тип возвращаемого значения указывается перед именем функции. Делать это необязательно, хотя и рекомендуется:
Поскольку эта функция содержит всего одно выражение, ее можно укоротить до одной строчки:
Оператор => -это сокращение фигурных скобок и слова return.
Опциональные параметры
Читать дальше