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

Ключевое слово required

Ключевое слово required используется при объявлении именованных параметров функции, метода или конструктора. Оно указывает компилятору, что данный параметр должен быть обязательно передан при вызове. Без required именованные параметры по умолчанию являются необязательными. Особенно часто required применяется вместе с nullable-типами и ключевым словом late.

Синтаксис

returnType functionName({required type parameter}) { // body }

Пример

Давайте объявим функцию с двумя обязательными именованными параметрами и вызовем её:

void printInfo({required String name, required int age}) { print('$name is $age years old'); } void main() { printInfo(name: 'abcde', age: 25); }

Результат выполнения кода:

"abcde is 25 years old"

Пример

Если пропустить обязательный параметр, помеченный required, компилятор выдаст ошибку:

void printInfo({required String name, required int age}) { print('$name is $age years old'); } void main() { printInfo(name: 'abcde'); }

Результат выполнения кода:

Error: Required named parameter 'age' must be provided.

Пример

Ключевое слово required можно комбинировать с необязательными именованными параметрами:

void printInfo({required String name, int age = 0}) { print('$name is $age years old'); } void main() { printInfo(name: 'abcde'); }

Результат выполнения кода:

"abcde is 0 years old"

Пример

Особенно полезно required вместе с nullable-типами, когда нужно явно передать null в качестве значения:

void printValue({required String? value}) { print(value ?? 'default'); } void main() { printValue(value: null); }

Результат выполнения кода:

"default"

Смотрите также

  • ключевое слово nullable,
    которое разрешает значение null
  • ключевое слово late,
    которое откладывает инициализацию
  • оператор ??,
    который задаёт значение по умолчанию
  • ключевое слово !,
    которое утверждает не-null значение
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить