Программирование дротиков - Функции
Функции - это строительные блоки читаемого, поддерживаемого и повторно используемого кода. Функция - это набор операторов для выполнения определенной задачи. Функции организуют программу в логические блоки кода. После определения функции могут быть вызваны для доступа к коду. Это делает код многоразовым. Более того, функции позволяют легко читать и поддерживать код программы.
Объявление функции сообщает компилятору об имени функции, типе возвращаемого значения и параметрах. Определение функции предоставляет фактическое тело функции.
Старший Нет | Функции и описание |
---|---|
1 | Определение функции Определение функции указывает, что и как будет выполняться конкретная задача. |
2 | Вызов функции Функция должна быть вызвана для ее выполнения. |
3 | Возврат функций Функции также могут возвращать значение вместе с управлением обратно вызывающей стороне. |
4 | Параметризованная функция Параметры - это механизм передачи значений функциям. |
Дополнительные параметры
Необязательные параметры могут использоваться, когда аргументы не обязательно должны передаваться для выполнения функции. Параметр можно пометить как необязательный, добавив к его имени знак вопроса. Необязательный параметр должен быть установлен в качестве последнего аргумента функции.
В Dart есть три типа необязательных параметров:
Старший Нет | Параметр и описание |
---|---|
1 | Дополнительный позиционный параметр Чтобы указать необязательные позиционные параметры, используйте квадратные скобки []. |
2 | Необязательный именованный параметр В отличие от позиционных параметров, имя параметра должно быть указано во время передачи значения. Фигурную скобку {} можно использовать для указания необязательных именованных параметров. |
3 | Необязательные параметры со значениями по умолчанию Параметрам функции также могут быть присвоены значения по умолчанию. Однако такие параметры также могут быть явно переданными значениями. |
Рекурсивные функции Dart
Рекурсия - это метод итерации по операции путем многократного вызова функции самой себя до тех пор, пока не будет достигнут результат. Рекурсию лучше всего применять, когда вам нужно многократно вызывать одну и ту же функцию с разными параметрами из цикла.
пример
void main() {
print(factorial(6));
}
factorial(number) {
if (number <= 0) {
// termination case
return 1;
} else {
return (number * factorial(number - 1));
// function invokes itself
}
}
Должно получиться следующее output -
720
Лямбда-функции
Лямбда-функции - это краткий механизм для представления функций. Эти функции также называются функциями стрелок.
Синтаксис
[return_type]function_name(parameters)=>expression;
пример
void main() {
printMsg();
print(test());
}
printMsg()=>
print("hello");
int test()=>123;
// returning function
Должно получиться следующее output -
hello 123