函数是可读,可维护和可重用代码的构建块。 函数是一组用于执行特定任务的语句。 函数将程序组织成逻辑代码块。 一旦定义,可以调用函数来访问代码。 这使得代码可以重用。 此外,函数可以轻松读取和维护程序的代码。
函数声明告诉编译器函数的名称,返回类型和参数。 函数定义提供函数的实际主体。
序号 | 函数和描述 |
---|---|
1 | Defining a Function 函数定义指定特定任务的执行方式和方式。 |
2 | Calling a Function 必须调用函数才会执行它。 |
3 | Returning Functions 函数也可以将值与控制一起返回给调用者。 |
4 | Parameterized Function 参数是一种将值传递给函数的机制。 |
可选参数
当函数执行时不需要强制传递参数时,可以使用可选参数。 通过在其名称后附加问号,可以将参数标记为可选。 可选参数应设置为函数中的最后一个参数。
三种经典的可选参数
序号 | 参数和描述 |
---|---|
1 | Optional Positional Parameter 要指定可选的位置参数,请使用方括号[]括号。 |
2 | Optional named parameter 与位置参数不同,必须在传递值时指定参数的名称。 Curly brace {}可用于指定可选的命名参数。 |
3 | Optional Parameters with Default Values 默认情况下,还可以为函数参数指定值。 但是,这些参数也可以显式传递值。 |
Dart函数递归
递归是一种通过对函数自身重复调用直到它到达结果来迭代操作的技术。 当您需要使用循环内的不同参数重复调用相同的函数时,推荐应该使用递归。
例子
void main() { print(factorial(6)); } factorial(number) { if (number <= 0) { // termination case return 1; } else { return (number * factorial(number - 1)); // function invokes itself } }
上面的代码将输出一下结果
720
Lambda函数
Lambda函数是表示函数的简洁机制。 这些函数也称为箭头函数。
语法
[return_type]function_name(parameters)=>expression;
例子
void main() { printMsg(); print(test()); } printMsg()=> print("hello"); int test()=>123; // returning function
上面的代码将输出以下结果:
hello 123