Dart - Functions - GeeksforGeeks

08 Mar, 2022
Function is a set of statements that take inputs, do some specific computation and produces output. Functions are created when certain statements are repeatedly occurring in the program and a function is created to replace them. Functions make it easy to divide the complex program into smaller sub-groups and increase the code reusability of the program. 
Dart provides us with the facility of using functions in its program.Syntax: 
return_type function_name ( parameters ) {
   // Body of function
   return value;
}
In the above syntax: 
function_name defines the name of the function.
return_type defines the datatype in which output is going to come.
return value defines the value to be returned from the function.
The function is called as: Syntax: 
function_name (argument_list);
In the above syntax: 
function_name defines the name of the function.
argument list is the list of the parameter that the function requires.
Example 1: Complete function in Dart 
Java
int add(int a, int b){    // Creating function    int result = a + b;    // returning value result    return result;} void main(){    // Calling the function    var output = add(10, 20);     // Printing output    print(output);}
Output: 
30
Note: You must note that two functions can’t have the same function name although they differ in parameters.Example 2: Function without parameter and return value. 
Java
void GFG(){    // Creating function    print("Welcome to GeeksForGeeks");} void main(){    // Calling the function    GFG();}
Output: 
Welcome to GeeksForGeeks
Note: You must note that you can also directly return string or integer or any output of expression through the return statement. 
There are also optional parameter system in Dart which allows user to give some optional parameters inside the function. 
Example: 
Java
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);}
Output: 
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
 
The recursive function is those functions in which function calls itself. It is a good way to avoid repeatedly calling the same function to get the output.Example: Recursive function for fibonacci series. 
Java
/// 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)}');}
Output: For input as 20 
fibonacci(20) = 6765
 
They are the short way of representing a function in Dart. They are also called arrow function. But you should note that with lambda function you can return value for only one expression.Example: Lambda function in dart. 
Java
// Lambda function in Dart void gfg() = > print("Welcome to GeeksforGeeks"); void main(){    gfg(); // Calling Lambda function}
Output: 
Welcome to GeeksforGeeks
prachisoda1234
kothavvsaakash
Dart Function
Dart
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Flutter - DropDownButton Widget
Flutter - Custom Bottom Navigation Bar
Flutter - Checkbox Widget
Dart Tutorial
How to Append or Concatenate Strings in Dart?
Flutter - BoxShadow Widget
ListView Class in Flutter
Flutter - Flexible Widget
Flutter - Stack Widget
Operators in Dart