Опциональные параметры
При объявлении функции мы можем в ее сигнатуре указать значения по умолчанию. Например, нам понадобится вызывать какую-то функцию много раз с одним и тем же параметром, но при этом необходимо сохранить гибкость. В таком случае, при вызове функции с параметром по умолчанию его (этот параметр) можно не указывать.
В Dart существует два типа опциональных параметров: позиционные и именованные. Рассмотрим их подробнее.
Примечание: Опциональный параметр не может быть одновременно и позиционным и именованным
Именованные – такие параметры при вызове функции можно указывать опционально с именем и последующим двоеточием и оборачиванием в фигурные скобки. Пример:
Аннотация @required делает этот параметр обязательным
Позиционные – опциональные параметры, помещаемые при объявлении функции в квадратные скобки. Они будут читаться при вызове по их позиции среди аргументов.
Функции как объекты
Функции можно передавать в качестве параметров другим функциям, а также назначать их переменным: