Быстрый старт Flutter-разработчика. Андрей Алеев
Чтение книги онлайн.
Читать онлайн книгу Быстрый старт Flutter-разработчика - Андрей Алеев страница 5
Встроенные типы включают:
– Числовые (num и его наследники int и double)
– Строковые (strings)
– Булевы (Booleans)
– Списки, или массивы (list)
– Сеты (set)
– Мапы (map)
– Руны (for expressing Unicode characters in a string)
– Символы (symbols)
int – Целочисленные переменные. На виртуальной машине Dart диапазон составляет от -263 до 263—1
Примечание: При компиляции в JavaScript диапазон int-a -253 до 253—1
double – 64-битные числа с плавающей запятой
И int и double наследуются от типа num
String
Строковые переменные в Dart представляют собой последовательности из UTF-16 символов. Для инициализации можно использовать как двойные, так и одинарные кавычки:
var s1 = «Строка в одинарных кавычках»;
String s2 = «Строка в двойных кавычках»;
Значения переменных можно использовать в строках с помощью конструкции $ {выражение}
var a = 2;
var b = 2;
var s = «$a + $b = $ {a+b}»;
// получим «2+2=4»
bool
Для создания булевых переменных в Dart существует ключевое слово bool. При инициализации можно использовать литералы true и false. То есть, инициализация bool b = 0; – некорректна, правильно
bool b = true;
List
Списки – это коллекции проиндексированных объектов. Примеры объявления и инициализации списков:
List <int> list1 = new List ();
List <int> list2 = List ();
var list3 = [1, 2, 3];
Для инициализации в Dart 2.3 добавлен спред оператор – троеточие – с помощью него можно добавить в список множество значений:
var list = [1, 2, 3];
var list2 = [0, …list];
Sets
Сеты – это неупорядоченные наборы уникальных элементов. В Dart для того, чтобы создать сет, нужно использовать фигурные скобки для непустого набора и фигурные скобки в сочетании с угловыми и типом объектов для пустого:
var colors = {’red’, ’green’, ’blue’}; // сразу инициализируем сет
var colors = <String> {}; // объявляем пустой сет
Set <String> colors = {}; // тоже корректно
Maps
Мапы – это наборы данных в формате ключ-значение. Ключами, как и значениями, могут быть объекты любых типов. Каждый ключ является уникальным, значения могут быть разными, а могут дублироваться. Посмотрим на примере:
var ballGames = {
’baseball’: ’club’,
’basketball’: ’hands’,
’football’: ’foots’
};
Альтернативные способы инициализации
var ballGames = Map ();
ballGames [’baseball’] = ’club’;
…
var ballGames = Map ();
ballGames [2] = ’hands’;
Runes
Dart поддерживает руны – спецсимволы юникод. Используйте, если хотите добавить смайлики. Попробуйте запустить в dartpad
Runes input = new Runes (»\u {1f60e}»);
print (new String.fromCharCodes (input));
final и const
В языке также присутствуют ключевые слова final