Menu
Coddy logo textTech

Оператор утверждения null

Часть раздела Основы путешествия по Dart на Coddy — урок 80 из 94.

Оператор null-утверждения (!) сообщает Dart, что nullable-переменная определённо не null в этой точке кода. Он заставляет Dart рассматривать nullable-тип как non-nullable.

Создайте nullable строковую переменную:

String? name = 'Dart';

Используйте оператор утверждения null, чтобы трактовать его как ненулевое значение:

String nonNullableName = name!;
print(nonNullableName);

После выполнения приведённого выше кода вывод будет:

Dart

Будьте осторожны! Если переменная действительно null, ваша программа рухнет:

String? language = null;
// String nonNullable = language!; // This would crash at runtime
challenge icon

Задание

Новичок

В этой задаче вы попрактикуетесь в использовании оператора утверждения ненулевости (!) в Dart. Этот оператор сообщает Dart, что nullable-переменная определённо не null в определённой точке вашего кода.

Завершите код ниже, чтобы использовать оператор утверждения ненулевости для преобразования nullable переменной username в не-nullable строку, которую можно присвоить displayName.

Ожидаемый вывод:

Welcome, DartLearner!

Шпаргалка

Оператор утверждения null (!) сообщает Dart, что nullable-переменная определённо не равна null в этой точке кода. Он заставляет Dart рассматривать nullable-тип как non-nullable.

String? name = 'Dart';
String nonNullableName = name!;
print(nonNullableName); // Output: Dart

Предупреждение: Если переменная на самом деле равна null, ваша программа завершится аварийно во время выполнения:

String? language = null;
// String nonNullable = language!; // This would crash

Попробуйте сами

void main() {
  // Эта переменная String, допускающая null, уже имеет значение, отличное от null
  String? username = 'DartLearner';
  
  // TODO: Используйте оператор утверждения ненулевости (!) чтобы преобразовать username
  // из String, допускающей null, в String, не допускающую null
  // чтобы её можно было присвоить displayName
  String displayName;
  
  // Это выведет приветственное сообщение
  print('Welcome, $displayName!');
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы