Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtPmNsNn 359 of 412 menu
◀ ▶

Утверждение не-null значения в Dart

Оператор ! сообщает компилятору, что nullable-значение точно не null. После него тип становится обычным, и можно вызывать методы без ?.:

String? sure = 'ok'; print(sure!.length);

Если предположение неверно и там все же null, программа остановится с ошибкой. Такой прием оставляют для редких случаев, когда пустота уже отсечена логикой выше, но компилятор этого не видит:

String? fail = null; // print(fail!.length); // ошибка при запуске

В учебных и рабочих задачах чаще хватает ?., проверки if и ??: ! не заменяет их, а снимает только предупреждение компилятора ценой риска:

String? token = 'data'; var len = token != null ? token.length : 0; print(len);

Дана переменная:

String? key = 'secret';

Выведите длину строки одним выражением.

Дана переменная:

String? item = 'x';

Сначала сравните item с null. Только если значение есть, выведите строку в верхнем регистре.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить