Какие ??двойные знаки вопроса в дартс? - PullRequest
0 голосов
/ 04 января 2019

Следующая строка кода имеет два знака вопроса:

final myStringList = prefs.getStringList('my_string_list_key') ?? [];

Что означает?

1 Ответ

0 голосов
/ 04 января 2019

Оператор ?? с двойным знаком вопроса означает «если ноль».Возьмем, к примеру, следующее выражение:

String a = b ?? 'hello';

Это означает, что a равно b, но если b равно нулю, a равно 'hello'.

Другойсвязанный оператор ??=.Например:

b ??= 'hello';

Это означает, что если b равно нулю, установите его равным hello.В противном случае не изменяйте его.

Ссылка

Условия

В новостях Dart 1.12 в совокупности упоминается следующеекак нулевые операторы :

  • ?? - если нулевой оператор
  • ??= - нулевое распознавание
  • x?.p - нулевой доступ
  • x?.m() - нулевой вызов метода
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...