Тип данных определяет, какие именно значения может хранить объект. Среди базовых типов в языке Dart можно выелить следующие:
логический тип bool
Числовые типы (int, double)
Строковые типы (String)
Тип bool представляет два значения: true (верно, истина) и false (неверно, ложь).
bool yes = true; bool no = false;
Как правило, переменные типа bool
применяются в условных выражения, которые будут рассмотрены в последующих статьях.
Тип int представляет целые числа, которые занимают не более 64 бит, точный размер зависит от платформы. Например, для настольных/мобильных приложений значения варьируются от -263 до 263 - 1. Dart, который компилируется в JavaScript, использует систему числовых типов JavaScript с диапазоном значений от -253 до 253 - 1.
Любые целые числа трактуются как значения типа int:
int x = 8; var y = -5;
Тип double представляет числа с плавающей точкой, которые занимают в памяти 64 бита.
Все дробные числа с точкой в качестве разделителя целой и дробной части трактуются как значения типа double:
double x = 8.8; var y = -5.3; var z = 0.09;
Переменной типа double также можно присвоить целочисленный литерал, в этом случае оно автоматически преобразуется в дробное:
double x = 8; // x = 8.0 print(x); // 8.0
Строки представлены типом String, который представляет последовательность символов в кодировке UTF-16. Для определения строки можно использовать одинарные и двойные кавычки:
String tom = "Tom"; String sam = 'Sam'; var kate = "Kate"; var alice = 'Alice';
Если необходимо определить многострочную строку, то она заключается в тройные кавычки:
void main() { var multiline = ''' Многострочная строка '''; print(multiline); String text = """ Высокой страсти не имея Для кода жизни не щадить, Не мог он джаву от сишарпа, Как мы ни бились, отличить. """; print(text); }
С помощью интерполяции мы можем вводить в строку значения других переменных:
String name = "Tom"; int age = 35; String info = "Name: $name Age: $age";
Для ввода значений в строку перед переменной ставится знак доллара $ ($name, $age), в итоге вместо $name будет вставляться значение переменной name, а вместо $age - значение переменной age.