Menu
Coddy logo textTech

Default Parameter Values

Part of the Fundamentals section of Coddy's Dart journey — lesson 75 of 94.

Default parameter values allow you to specify fallback values for function parameters that aren't provided when the function is called.

Create a function with a default parameter value:

void greet(String name, [String greeting = 'Hello']) {
  print('$greeting, $name!');
}

Call the function with and without the optional parameter:

void main() {
  greet('Dart');
  greet('Dart', 'Welcome');
}

After executing the above code, the output will be:

Hello, Dart!
Welcome, Dart!

You can also use default values with named parameters:

void showInfo({required String name, int age = 30}) {
  print('$name is $age years old');
}

void main() {
  showInfo(name: 'Alex');
  showInfo(name: 'Maya', age: 25);
}

After executing the above code, the output will be:

Alex is 30 years old
Maya is 25 years old
challenge icon

Challenge

Beginner

In this challenge, you'll practice using default parameter values in Dart functions. Default parameter values allow you to specify a value that will be used if the parameter is not provided when calling the function.

Complete the greet function by adding a default value of "Hello" for the greeting parameter.

Expected output:

Hello, Alice!
Welcome, Bob!

Cheat sheet

Default parameter values provide fallback values for function parameters when not provided during function calls.

For optional positional parameters, use square brackets with default values:

void greet(String name, [String greeting = 'Hello']) {
  print('$greeting, $name!');
}

greet('Dart');           // Hello, Dart!
greet('Dart', 'Welcome'); // Welcome, Dart!

For named parameters, assign default values directly:

void showInfo({required String name, int age = 30}) {
  print('$name is $age years old');
}

showInfo(name: 'Alex');              // Alex is 30 years old
showInfo(name: 'Maya', age: 25);     // Maya is 25 years old

Try it yourself

void main() {
  // These names are already defined for you
  String name1 = 'Alice';
  String name2 = 'Bob';
  
  // TODO: Call the greet function twice:
  // 1. Once with just name1 (should use the default greeting)
  // 2. Once with name2 and the greeting "Welcome"
  greet(name1);
  greet(name2, "Welcome");
}

// TODO: Modify this function to add a default value of "Hello" for the greeting parameter
void greet(String name, String greeting) {
  print('$greeting, $name!');
}
quiz iconTest yourself

This lesson includes a short quiz. Start the lesson to answer it and track your progress.

All lessons in Fundamentals