Required Named Parameters
Part of the Fundamentals section of Coddy's Dart journey — lesson 74 of 94.
The required keyword forces named parameters to be provided when calling a function. Without it, named parameters are optional by default.
Create a function with required named parameters:
void createUser({required String name, required int age}) {
print('User created: $name, $age years old');
}
Call the function with all required parameters:
void main() {
createUser(name: 'Alex', age: 30);
}
After executing the above code, the output will be:
User created: Alex, 30 years oldIf you try to omit a required parameter, Dart will show an error:
// This would cause an error:
// createUser(name: 'Alex'); // Missing required parameter 'age'
Challenge
BeginnerIn this challenge, you'll practice using the required keyword with named parameters in Dart. The required keyword ensures that a named parameter must be provided when calling a function.
Complete the createUserProfile function by adding the required keyword to make both the name and age parameters required.
Cheat sheet
The required keyword forces named parameters to be provided when calling a function. Without it, named parameters are optional by default.
Create a function with required named parameters:
void createUser({required String name, required int age}) {
print('User created: $name, $age years old');
}Call the function with all required parameters:
createUser(name: 'Alex', age: 30);Omitting a required parameter will cause a compilation error.
Try it yourself
void main() {
// This function call is already set up for you
String profile = createUserProfile(name: 'Alice', age: 30);
print(profile);
// Uncomment this line to see what happens when required parameters are missing
// String invalidProfile = createUserProfile(name: 'Bob');
}
// TODO: Add the 'required' keyword to make both parameters required
String createUserProfile({String name, int age}) {
return 'User Profile: $name, $age years old';
}
This lesson includes a short quiz. Start the lesson to answer it and track your progress.
All lessons in Fundamentals
4Operators Part 2
Comparison OperatorsLogical ANDLogical ORLogical NOTType Test OperatorsRecap - Making Comparisons7Working with Strings
String ConcatenationString InterpolationMulti-line StringsString PropertiesBasic String Methods10Collections - Maps Basics
What are Maps?Creating a MapAccessing Values by KeyKey-Value PairsGetting Map SizeGetting KeysGetting ValuesChecking if a Key Exists13Null Safety In Depth
Understanding NullNullable TypesNon-Nullable TypesNull Assertion OperatorLate InitializationRecap - Handling Null Safely16Fundamentals Challenges
Challenge: List of calculationChallenge: Sum of numbersChallenge: Find product2Variables and Basic Data Types
What are Variables?StringsIntegers (int)Doubles (double)Booleans (bool)Type Inference with 'var'Final VariablesConstant VariablesNaming ConventionsBasic Null SafetyRecap - Declaring Variables8Control Flow - Loops
The 'for' LoopThe 'while' LoopThe 'do-while' LoopUsing 'break' in LoopsUsing 'continue' in LoopsRecap - Repeating Code3Operators Part 1
Arithmetic OperatorsInteger DivisionModulo OperatorIncrement and DecrementAssignment ShortcutsRecap - Simple Calculations6Control Flow - Decision Making
The 'if' StatementThe 'else' StatementThe 'else if' StatementRecap - Simple DecisionsNested 'if' StatementsThe 'switch' Statement9Collections - Lists Basics
What are Lists?Creating a ListAccessing by IndexGetting List LengthAdding ElementsRemoving ElementsChecking if a List is EmptyIterating Over a List12Functions Advanced
Optional Positional ParametersNamed ParametersRequired Named ParametersDefault Parameter ValuesRecap - Function Parameters15Project: Simple Calculator
Setting UpDeclaring Number