Освоение оператора объединения Dart Null ??

Привет, коллеги-разработчики! Сегодня мы собираемся погрузиться в чудесный мир Dart и изучить один из его удобных операторов: оператор объединения нулей, обозначаемый ??. Если вы не знакомы с этим оператором, не волнуйтесь! Я объясню это простыми словами и приведу несколько примеров, которые помогут вам понять его использование. Итак, начнем!

Оператор объединения значений NULL, ??, представляет собой краткий способ обработки значений, допускающих значение NULL, в Dart. Это позволяет вам предоставить значение по умолчанию при обнаружении нулевого значения, что позволяет избежать неожиданных исключений нулевых ссылок. Думайте об этом как о сокращенном способе выражения условной проверки нулевых значений.

Вот базовый синтаксис оператора объединения нулей:

var result = nullableValue ?? defaultValue;

В приведенном выше примере, если nullableValueне равно нулю, переменной resultбудет присвоено значение nullableValue. Однако если nullableValueимеет значение NULL, переменной resultбудет присвоено значение defaultValue.

Давайте рассмотрим этот оператор подробнее на примерах кода:

Пример 1:

String name;
String displayName = name ?? 'Anonymous';
print(displayName); // Output: 'Anonymous'

В этом примере переменная nameимеет значение NULL, поэтому оператор объединения NULL присваивает значение по умолчанию 'Anonymous'переменной displayName.

Пример 2:

String city = 'New York';
String selectedCity = city ?? 'Unknown';
print(selectedCity); // Output: 'New York'

В этом примере переменная cityне равна нулю, поэтому значение cityприсваивается переменной selectedCity.

Пример 3:

int x;
int y = 10;
int result = x ?? y;
print(result); // Output: 10

В этом примере и x, и yявляются целыми числами, допускающими значение NULL. Поскольку xимеет значение NULL, оператор объединения NULL присваивает значение y(то есть 10) переменной result.

Оператор объединения значений NULL можно объединить в цепочку для обработки нескольких значений, допускающих значение NULL:

Пример 4:

String name;
String displayName = name ?? 'Anonymous' ?? 'Unknown';
print(displayName); // Output: 'Anonymous'

В этом примере, если переменная nameимеет значение NULL, первый оператор объединения NULL присваивает значение по умолчанию 'Anonymous'переменной displayName. Если бы 'Anonymous'также было нулевым, второй оператор объединения нулей присвоил бы значение по умолчанию 'Unknown'для displayName.

Вот и все, ребята! Теперь вы узнали, как использовать оператор объединения нулей Dart ?? для эффективной обработки значений, допускающих значение NULL. Это мощный инструмент, который может упростить ваш код и предотвратить ошибки нулевых ссылок.

Помните: при использовании оператора объединения значений NULL всегда проверяйте, что предоставляемое вами значение по умолчанию имеет тот же тип, что и переменная, допускающая значение NULL, с которой вы работаете.

Надеюсь, эта статья оказалась для вас полезной! Удачного программирования с Dart!