Final Variables
Part of the Fundamentals section of Coddy's Dart journey — lesson 11 of 94.
In Dart, final variables cannot be changed after initialization. They create constants in your program.
void main() {
final name = 'Dart Programmer';
print(name);
}You can specify types or let Dart infer them. Attempting to reassign final variables causes errors:
void main() {
final score = 100;
// score = 200; // Error: Can't reassign final variables
}Challenge
BeginnerIn this challenge, you'll learn about final variables in Dart. A final variable can only be set once and cannot be changed after initialization.
Complete the following tasks:
- Create a
finalinteger variable namedreleaseYearwith the value2011(the year Dart was first released) - Create a
finalstring variable namedcreatorwith the value"Google" - Create a
finalboolean variable namedisCompiledLanguagewith the valuetrue - Print all three variables with descriptive labels exactly as shown in the expected output
Your output should look exactly like this:
Dart was released in: 2011 Dart was created by: Google Is Dart a compiled language? true
Cheat sheet
In Dart, final variables cannot be changed after initialization. They create constants in your program.
final name = 'Dart Programmer';
final score = 100;You can specify types or let Dart infer them. Attempting to reassign final variables causes errors:
final score = 100;
// score = 200; // Error: Can't reassign final variablesTry it yourself
void main() {
// Declare your final variables here
final int releaseYear = ?;
final String creator = ?;
final bool isCompiledLanguage = ?;
// Print the variables with labels
print("Dart was released in: " + releaseYear.toString());
print("Dart was created by: " + creator);
print("Is Dart a compiled language? " + isCompiledLanguage.toString());
}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