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

Nullable-объект в Dart

Переменная типа Post? может хранить объект класса Post или null. Без вопросительного знака в типе null присвоить нельзя:

class Post { String title; Post(this.title); }

Создадим объект и выведем его:

Post? found = Post("note"); Post? missing = null; print(found?.title); print(missing);

Поле класса тоже может быть nullable. Тогда у объекта поле иногда пустое:

class Post { String title; Post(this.title); Post? editor = null; }

Создадим объект, заполним поля и проверим результат:

var boss = Post("eric"); var post = Post("note"); post.editor = boss; print(post.editor?.title);

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

class Post { String title; Post(this.title); } Post? post = null; // print(post.title); // ошибка компиляции print(post?.title);

Объявите Post? leader. Сначала запишите объект Post, затем присвойте null.

Сделайте класс Team с полем captain типа Post?. Создайте команду без капитана и выведите заголовок капитана безопасным обращением.

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