Null в картах в Dart
Обращение к карте по ключу в квадратных скобках
возвращает nullable-тип: отсутствующий ключ
дает null. Результат удобно сохранять
в отдельную переменную:
var scores = {'Ann': 5, 'Bob': 4};
int? ann = scores['Ann'];
int? max = scores['Max'];
print(ann);
print(max);
Ссылку на саму карту тоже можно объявить
nullable. Тогда цепочка начинается с ?.
перед скобками:
Map<String, int>? table = {'x': 1};
Map<String, int>? none = null;
print(table?['x']);
print(none?['x']);
Значения в карте могут быть nullable -
Map<String, int?>. Ключ при этом
обязателен, а число по смыслу может
отсутствовать:
var marks = {'math': 5, 'art': null};
print(marks['math']);
print(marks['art']);
print(marks['sport']);
Дана карта:
var ages = {'Lea': 20, 'Tom': 22};
Сохраните возраст Tom и возраст Kim
в nullable-переменные и выведите их
двумя строками.
Дана карта:
var opts = {'a': 1, 'b': null};
Сохраните значения по ключам b и c
в nullable-переменные и выведите их
двумя строками.