๐ Scenario: You are creating a simple program to calculate the area of a circle. You want to use a constant value for Pi to keep your code clean and easy to update.
๐ฏ Goal: Build a Rust program that defines a constant for Pi, uses it to calculate the area of a circle with a given radius, and prints the result.
๐ What You'll Learn
Define a constant named PI with the value 3.14159
Create a variable named radius with the value 5.0
Calculate the area using the formula PI * radius * radius
Print the area with a message
๐ก Why This Matters
๐ Real World
Constants are used in programs to store fixed values like mathematical constants, configuration values, or limits that should not change during the program.
๐ผ Career
Understanding constants is important for writing clear, maintainable, and bug-free code in any software development job.
Progress0 / 4 steps
1
Define the constant PI
Write a constant named PI with the value 3.14159 using const and type f64.
Rust
Hint
Use const keyword, specify the type f64, and assign the value 3.14159.
2
Create a variable radius
Create a variable named radius with the value 5.0 and type f64.
Rust
Hint
Use let to create a variable, specify type f64, and assign 5.0.
3
Calculate the area of the circle
Create a variable named area that calculates the area using the formula PI * radius * radius.
Rust
Hint
Use the formula for the area of a circle: Pi times radius squared.
4
Print the area
Print the message "The area of the circle is: " followed by the value of area using println!.
Rust
Hint
Use println!("The area of the circle is: {}", area); inside fn main().
Practice
(1/5)
1. What is true about constants in Rust?
easy
A. Constants can be changed anytime during program execution.
B. Constants must have a type and cannot be changed after declaration.
C. Constants do not require a type annotation.
D. Constants are only used inside functions.
Solution
Step 1: Understand constant properties in Rust
Constants in Rust must have an explicit type and are immutable by design.
Step 2: Evaluate each option
Constants must have a type and cannot be changed after declaration correctly states constants require a type and cannot change. The other options are incorrect because constants cannot be changed anytime during execution, they must have a type annotation, and they can be declared outside functions.
Final Answer:
Constants must have a type and cannot be changed after declaration. -> Option B
Quick Check:
Constants are immutable with explicit types = B [OK]
Hint: Constants always need a type and never change [OK]
Common Mistakes:
Thinking constants can be changed like variables
Omitting the type annotation for constants
Assuming constants are only for inside functions
2. Which of the following is the correct syntax to declare a constant named MAX_POINTS with value 100 in Rust?
easy
A. const MAX_POINTS = 100;
B. var MAX_POINTS: i32 = 100;
C. let MAX_POINTS: i32 = 100;
D. const MAX_POINTS: i32 = 100;
Solution
Step 1: Recall Rust constant syntax
Constants use the keyword const, require a type annotation, and use an equals sign to assign a value.
Step 2: Check each option
const MAX_POINTS: i32 = 100; matches the correct syntax: const MAX_POINTS: i32 = 100;. const MAX_POINTS = 100; misses the type, var MAX_POINTS: i32 = 100; uses invalid keyword var, let MAX_POINTS: i32 = 100; uses let for variables.
Final Answer:
const MAX_POINTS: i32 = 100; -> Option D
Quick Check:
Constants need const + type + value = D [OK]
Hint: Use const with type and value for constants [OK]
Common Mistakes:
Forgetting the type annotation
Using let or var instead of const
Missing the semicolon at the end
3. What will be the output of this Rust code?
const PI: f64 = 3.14;
fn main() {
println!("Value of PI is {}", PI);
}
medium
A. Value of PI is 3.14
B. Value of PI is PI
C. Compile error: missing type for PI
D. Runtime error
Solution
Step 1: Understand constant declaration and usage
The constant PI is declared with type f64 and value 3.14. It is used inside println! macro.
Step 2: Predict output of the print statement
The print statement will replace {} with the value of PI, which is 3.14. No errors occur.
Final Answer:
Value of PI is 3.14 -> Option A
Quick Check:
Printing constant value outputs its assigned number = A [OK]
Hint: Constants print their value directly in output [OK]
Common Mistakes:
Expecting the name 'PI' to print instead of its value
Thinking missing type causes error here (type is given)
Confusing runtime errors with compile-time constants
C. Cannot assign a new value to a constant after declaration.
D. The println! macro is used incorrectly.
Solution
Step 1: Analyze constant assignment
Constants in Rust are immutable and cannot be assigned a new value after declaration.
Step 2: Check the code for errors
The line MAX = 20; tries to change the constant, which causes a compile-time error.
Final Answer:
Cannot assign a new value to a constant after declaration. -> Option C
Quick Check:
Constants are immutable; reassignment causes error = C [OK]
Hint: Constants cannot be reassigned after declaration [OK]
Common Mistakes:
Trying to change a constant's value
Thinking constants behave like variables
Ignoring compiler error messages about immutability
5. You want to define a constant for the number of days in a week and use it in a function to calculate total days for given weeks. Which code correctly uses constants in Rust?
const DAYS_IN_WEEK: u32 = 7;
fn total_days(weeks: u32) -> u32 {
weeks * DAYS_IN_WEEK
} declares a constant with type u32 and value 7, which is correct syntax.
Step 2: Verify usage in function
The function multiplies weeks by the constant, correctly calculating total days. let DAYS_IN_WEEK = 7;
fn total_days(weeks: u32) -> u32 {
weeks * DAYS_IN_WEEK
} uses let which is not a constant. const DAYS_IN_WEEK = 7;
fn total_days(weeks: u32) -> u32 {
weeks * DAYS_IN_WEEK
} misses the type annotation. static DAYS_IN_WEEK: u32 = 7;
fn total_days(weeks: u32) -> u32 {
weeks + DAYS_IN_WEEK
} uses static and adds weeks and days, which is incorrect logic.