函数是一组接受输入、进行一些特定计算并产生输出的语句。当某些语句在程序中重复出现并创建一个函数来替换它们时,就会创建函数。函数可以很容易地将复杂的程序分成更小的子组,并增加程序的代码可重用性。
在Dart定义函数:
Dart为我们提供了在其程序中使用函数的便利。
句法:
return_type function_name ( parameters ) {
// Body of function
return value;
}
在上面的语法中:
-
function_name
定义函数的名称。 -
return_type
定义了将要输出的数据类型。 -
return value
定义要从函数返回的值。
该函数被称为:
句法:
function_name (argunment_list);
在上面的语法中:
-
function_name
定义函数的名称。 -
argunment list
是函数需要的参数列表。
示例 1: Dart的完整函数
int add(int a, int b)
{
// Creating function
int result = a + b;
// returing value result
return result;
}
void main()
{
// Calling the function
var output = add(10, 20);
// Printing output
print(output);
}
输出:
30
注意:您必须注意,尽管两个函数的参数不同,但它们不能具有相同的函数名称。
实施例2:无参数和返回值的函数。
void GFG()
{
// Creating function
print("Welcome to GeeksForGeeks");
}
void main()
{
// Calling the function
GFG();
}
输出:
Welcome to GeeksForGeeks
注意:您必须注意,您也可以通过return语句直接返回字符串或整数或任何表达式的输出。
带有可选参数的函数:
Dart中还有可选参数系统,允许用户在函数内部给出一些可选参数。
Sr. No. | Parameter | Description |
---|---|---|
1. | Optional Positional Parameter | To specify it use square (‘[ ]’) brackets |
2. | Optional Named parameter | When we pass this parameter it is menditory to pass it while passing values. It is specify by curly(‘{ }’) brackets. |
3. | Optional parameter with default values | Here parameters are assign with default values. |
例子:
void gfg1(int g1, [ int g2 ])
{
// Creating function 1
print("g1 is $g1");
print("g2 is $g2");
}
void gfg2(int g1, { int g2, int g3 })
{
// Creating function 1
print("g1 is $g1");
print("g2 is $g2");
print("g3 is $g3");
}
void gfg3(int g1, { int g2 : 12 })
{
// Creating function 1
print("g1 is $g1");
print("g2 is $g2");
}
void main()
{
// Calling the function with optional parameter
print("Calling the function with optional parameter:");
gfg1(01);
// Calling the function with Optional Named parameter
print("Calling the function with Optional Named parameter:");
gfg2(01, g3 : 12);
// Calling function with default valued parameter
print("Calling function with default valued parameter");
gfg3(01);
}
输出:
Calling the function with optional parameter:
g1 is 1
g2 is null
Calling the function with Optional Named parameter:
g1 is 1
g2 is null
g3 is 12
Calling function with default valued parameter
g1 is 1
g2 is 12
Dart的递归函数:
递归函数是那些函数调用自身的函数。这是避免重复调用同一个函数来获取输出的好方法。
示例:斐波那契数列的递归函数。
/// Computes the nth Fibonacci number.
int fibonacci(int n)
{
// This is recursive function as it calls itself
return n < 2 ? n : (fibonacci(n - 1) + fibonacci(n - 2));
}
void main()
{
var i = 20; // input
print('fibonacci($i) = ${fibonacci(i)}');
}
输出:对于输入为 20
fibonacci(20) = 6765
Dart的Lambda函数:
它们是在Dart中表示函数的简短方式。它们也被称为箭头函数。但您应该注意,使用 lambda函数,您只能为一个表达式返回值。
示例: dart的Lambda函数。
// Lambda function in Dart
void gfg() = > print("Welcome to GeeksforGeeks");
void main()
{
gfg(); // Calling Lambda function
}
输出:
Welcome to GeeksforGeeks