Оператор утверждения 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
Задание
НовичокВ этой задаче вы попрактикуетесь в использовании оператора утверждения ненулевости (!) в 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!');
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы, часть 2
Операторы сравненияЛогический ANDЛогический ORЛогический NOTОператоры проверки типаПовторение - Сравнения7Работа со строками
Конкатенация строкИнтерполяция строкМногострочные строкиСвойства строкОсновные методы строк10Коллекции - Основы словарей
Что такое словари?Создание словаряДоступ к значениям по ключуПары ключ-значениеПолучение размера словаряПолучение ключейПолучение значенийПроверка существования ключа13Null-безопасность в деталях
Понимание nullNullable-типыNon-nullable-типыОператор утверждения nullПоздняя инициализацияПовторение - Безопасная обработка null2Переменные и основные типы данных
Что такое переменные?СтрокиЦелые числа (int)Вещественные числа (double)Булевы значения (bool)Вывод типов с 'var'Финальные переменныеКонстантные переменныеСоглашения об именованииОсновы null-безопасностиПовторение - Объявление переменных8Поток управления - Циклы
Цикл 'for'Цикл 'while'Цикл 'do-while'Использование 'break' в циклахИспользование 'continue' в циклахИтог - Повторение кода3Операторы. Часть 1
Арифметические операторыЦелочисленное делениеОператор модуляИнкремент и декрементСокращённые присваиванияИтог - Простые вычисления6Управление потоком - Принятие решений
Оператор 'if'Оператор 'else'Оператор 'else if'Повторение - Простые решенияВложенные операторы 'if'Оператор 'switch'9Коллекции - Основы списков
Что такое списки?Создание спискаДоступ по индексуПолучение длины спискаДобавление элементовУдаление элементовПроверка, пуст ли списокИтерация по списку12Расширенные функции
Необязательные позиционные параметрыИменованные параметрыОбязательные именованные параметрыЗначения параметров по умолчаниюПовторение - Параметры функций15Проект: Простой калькулятор
НастройкаОбъявление числа