Оператор !
Оператор ! (null assertion operator) применяется
к выражению, которое может иметь тип с null.
Он сообщает компилятору, что в данной точке программы
значение гарантированно не равно null,
и позволяет использовать это значение напрямую.
Если во время выполнения значение всё же окажется
null, будет выброшено исключение
TypeError. Оператор не принимает параметров
и записывается сразу после выражения.
Синтаксис
expression!
Пример
Давайте объявим переменную с nullable-типом
и присвоим ей строку, а затем получим длину
строки с помощью оператора !:
void main()
{
String? str = 'abcde';
print(str!.length);
}
Результат выполнения кода:
5
Пример
Давайте попробуем применить оператор !
к переменной, которая содержит null:
void main()
{
String? str = null;
print(str!.length);
}
Результат выполнения кода:
TypeError: null check operator used on a null value
Пример
Давайте получим элемент списка, который может
содержать null, и приведём его к строке
через оператор !:
void main()
{
String? res = ['a', 'b', 'c', 'd', 'e'][0];
print(res!);
}
Результат выполнения кода:
"a"