Тип коллекции в Dart
У готовых коллекций параметр типа уже встроен в объявление класса. В угловых скобках после имени указывают, какие типы элементов или пар ключ-значение допустимы.
Список хранит элементы одного типа. Запись
List<String> означает: индекс дает
строку, обход в for тоже работает
со строками:
final tags = <String>["go", "api"];
print(tags[0]);
for (final tag in tags) {
print(tag.length);
}
Карта связывает ключи одного типа со значениями
другого. У Map два аргумента типа -
первый для ключей, второй для значений:
final scores = <String, int>{
"ann": 90,
"bob": 85,
};
print(scores["ann"]);
for (final entry in scores.entries) {
print("${entry.key}:${entry.value}");
}
Если перепутать аргументы, компилятор не примет
присваивание: ключи и значения жестко разделены
в сигнатуре. Один и тот же синтаксис угловых
скобок связывает и свой код с List<T>,
и типы из стандартной библиотеки.
Задайте переменную со списком чисел
10, 20, 30 с явным
типом List<int> и выведите последний
элемент по индексу.
Создайте карту: ключи - строки "ru"
и "en", значения - числа 1
и 2. Выведите значение по ключу
"en".