Back to questions
Junior — Middle
103
Можете объяснить принцип работы системы защиты от обращений к null в языке программирования?
Companies where asked
Pashapay
HamkorBank
Верме
Answer from AI
sobes.tech AI
В языке Dart, который используется во Flutter, реализована система null safety — механизм, предотвращающий ошибки, связанные с обращением к null. Идея в том, что переменные по умолчанию не могут принимать значение null, если явно не указано обратное.
Это достигается с помощью строгой типизации и специальных операторов:
- Типы без вопросительного знака (например,
int,String) не могут быть null. - Типы с вопросительным знаком (например,
int?,String?) могут содержать null. - Оператор
!(null assertion) позволяет указать, что значение точно не null, но при ошибке будет выброшено исключение. - Оператор
?.позволяет безопасно обращаться к членам объекта, если он не null.
Пример:
String? name; // может быть null
void printNameLength() {
if (name != null) {
print(name!.length); // безопасно, так как проверили
} else {
print('Name is null');
}
}
Таким образом, компилятор помогает выявлять потенциальные ошибки с null на этапе компиляции, снижая количество runtime ошибок.