Что выведет код Junior Dart: типы и null-safety обновлено
Dart: операторы ?. и ??
Вопрос
Что выведет программа? По строке на каждый вывод.
void main() {
String? a;
String? b = 'flutter';
print(a?.length);
print(a ?? 'пусто');
a ??= b;
print(a);
b ??= 'dart';
print(b.length);
}
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: null, пусто, flutter, 7. a?.length при a == null даёт null без исключения. a ?? ... возвращает правую часть. a ??= b присваивает, потому что a был null. b ??= ... ничего не делает, b уже flutter, длина 7.
Что выведет
null
пусто
flutter
7
Разбор
a?.length при a == null даёт null без исключения. a ?? ... возвращает правую часть. a ??= b присваивает, потому что a был null. b ??= ... ничего не делает, b уже flutter, длина 7.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.