Собственные функции
Custom Function — короткое вычисление на Dart, возвращающее результат сразу: преобразование данных, расчёт, разбор строки. Логика, вынесенная в такую функцию, переиспользуется по всему проекту.
Цена со скидкой:
double calculateDiscount(double price, double discountRate) {
return price - (price * discountRate / 100);
}
Строка с заглавной буквы:
String capitalize(String input) {
return input.isNotEmpty ? '${input[0].toUpperCase()}${input.substring(1)}' : '';
}
Градусы Цельсия в Фаренгейты:
double celsiusToFahrenheit(double celsius) {
return (celsius * 9/5) + 32;
}
Где применяются
- Преобразование данных — привести значение к нужному виду перед выводом на экран.
- Расчёты — всё, что сложнее сложения двух чисел.
- Работа со строками — форматирование и разбор.
- Условная логика — результат зависит от входных значений.
Проверка функции
Функция — это вход и выход, поэтому её легко проверить до того, как она попадёт в проект. Прогоните её на разных значениях, включая пограничные: пустая строка, ноль, отрицательное число. Ошибка, найденная здесь, стоит минуту, а найденная в собранном приложении — гораздо дороже.
Про входные аргументы и возвращаемые значения — в общем руководстве по собственному коду.
Частые вопросы
Не получается добавить импорты
В собственной функции импортов быть не может. Если они нужны, задача решается собственным действием (Custom Action).
Ошибка: The function 'FFAppState' isn't defined
Обращаться к состоянию приложения напрямую (FFAppState().variablename) внутри функции нельзя. Передайте нужное значение параметром.
Библиотека готовых функций
Прежде чем писать своё, загляните в Utility Functions Library — там больше 50 функций для повседневных задач: форматирование текста, работа с датами, проверка ввода.