Skip to content
Related Articles

Related Articles

Dart – Functions

View Discussion
Improve Article
Save Article
Like Article
  • Difficulty Level : Basic
  • Last Updated : 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.
 

Defining the function in Dart:

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.
 

Functions with Optional Parameter:

There are also optional parameter system in Dart which allows user to give some optional parameters inside the function. 

Sr. No.ParameterDescription
1.Optional Positional ParameterTo specify it use square (‘[ ]’) brackets
2.Optional Named parameterWhen we pass this parameter it is mandatory to pass it while passing values. It is specify by curly(‘{ }’) brackets.
3.Optional parameter with default valuesHere parameters are assign with default values.

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

 

Recursive Function in Dart:

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

 

Lambda Function in Dart:

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

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!