Bird
Raised Fist0
Rustprogramming~5 mins

Immutable variables in Rust

Choose your learning style10 modes available
Introduction

Immutable variables hold values that cannot change once set. This helps keep your program safe and predictable.

When you want to store a value that should not change accidentally.
When you want to make your code easier to understand by knowing some values stay the same.
When you want to avoid bugs caused by changing data.
When you want to share data safely between parts of your program.
Syntax
Rust
let variable_name = value;

By default, variables in Rust are immutable.

To make a variable mutable, you add mut after let.

Examples
This creates an immutable variable x with value 5.
Rust
let x = 5;
// x cannot be changed later
Immutable variable holding a string.
Rust
let name = "Alice";
// name is a string that cannot be changed
This shows how to make a variable mutable with mut.
Rust
let mut y = 10;
y = 15; // allowed because y is mutable
Sample Program

This program creates an immutable variable greeting and prints it. Trying to change it later would cause an error.

Rust
fn main() {
    let greeting = "Hello";
    println!("{}", greeting);
    // greeting = "Hi"; // This line would cause an error if uncommented
}
OutputSuccess
Important Notes

Trying to change an immutable variable causes a compile error in Rust.

Use immutable variables to make your code safer and easier to read.

Summary

Variables are immutable by default in Rust.

Immutable variables cannot be changed after they are set.

Use mut to make a variable mutable if needed.

Practice

(1/5)
1. What does it mean when a variable is immutable in Rust?
easy
A. It can be changed anytime during the program.
B. Its value cannot be changed after it is set.
C. It is only accessible inside a function.
D. It automatically becomes mutable after declaration.

Solution

  1. Step 1: Understand Rust variable default behavior

    In Rust, variables are immutable by default, meaning their values cannot be changed once assigned.
  2. Step 2: Interpret immutability meaning

    Immutability means the value is fixed and cannot be reassigned or modified after initialization.
  3. Final Answer:

    Its value cannot be changed after it is set. -> Option B
  4. Quick Check:

    Immutable means unchangeable = A [OK]
Hint: Immutable means no changes allowed after assignment [OK]
Common Mistakes:
  • Thinking immutable means variable is hidden or local
  • Confusing immutability with mutability
  • Assuming variables change automatically
2. Which of the following is the correct way to declare a mutable variable named count with value 10 in Rust?
easy
A. let mut count = 10;
B. let count = 10;
C. mut let count = 10;
D. count mut = 10;

Solution

  1. Step 1: Recall Rust syntax for mutable variables

    In Rust, to make a variable mutable, you write let mut variable_name = value;.
  2. Step 2: Check each option

    let mut count = 10; uses the correct syntax. The other options use incorrect syntax.
  3. Final Answer:

    let mut count = 10; -> Option A
  4. Quick Check:

    Mutable variable syntax = let mut name = value [OK]
Hint: Use 'let mut' before variable name for mutability [OK]
Common Mistakes:
  • Placing 'mut' after variable name
  • Using 'mut let' instead of 'let mut'
  • Omitting 'mut' for mutable variables
3. What will be the output of this Rust code?
fn main() {
    let x = 5;
    // x = 10; // This line is commented out
    println!("{}", x);
}
medium
A. 10
B. Compilation error
C. Runtime error
D. 5

Solution

  1. Step 1: Analyze variable declaration and assignment

    Variable x is declared as immutable with value 5. The reassignment line is commented out, so it does not execute.
  2. Step 2: Understand the print statement

    The program prints the value of x, which remains 5.
  3. Final Answer:

    5 -> Option D
  4. Quick Check:

    Immutable variable unchanged prints original value = 5 [OK]
Hint: Commented reassignment means original value prints [OK]
Common Mistakes:
  • Assuming reassignment happens despite comment
  • Expecting compilation error due to reassignment line
  • Confusing output with reassignment value
4. Identify the error in this Rust code snippet:
fn main() {
    let x = 3;
    x = 4;
    println!("{}", x);
}
medium
A. Cannot assign to immutable variable `x`
B. Variable `x` is not declared
C. println! macro syntax is incorrect
D. Missing semicolon after let statement

Solution

  1. Step 1: Check variable mutability

    Variable x is declared immutable by default with let x = 3;.
  2. Step 2: Identify reassignment error

    Trying to assign x = 4; causes a compile-time error because x is immutable.
  3. Final Answer:

    Cannot assign to immutable variable `x` -> Option A
  4. Quick Check:

    Immutable variables cannot be reassigned = D [OK]
Hint: Reassigning immutable variable causes compile error [OK]
Common Mistakes:
  • Thinking semicolon is missing
  • Assuming println! syntax error
  • Ignoring immutability rules
5. You want to create a counter that increases by 1 each time a function is called. Which of these Rust code snippets correctly uses an immutable variable to achieve this behavior?
hard
A. Use let mut count = 0; and increment inside the function.
B. Use let count = 0; and reassign count = count + 1; inside the function.
C. Use let count = 0; and return count + 1 without changing count.
D. Use let mut count = 0; but never increment it.

Solution

  1. Step 1: Understand immutability and counter logic

    An immutable variable cannot be changed, so you cannot increment it directly.
  2. Step 2: Analyze options for correct usage

    Use let count = 0; and return count + 1 without changing count. uses an immutable variable count and returns count + 1 without changing count, which respects immutability and simulates increment.
  3. Final Answer:

    Use let count = 0; and return count + 1 without changing count. -> Option C
  4. Quick Check:

    Immutable means no change; return new value instead = A [OK]
Hint: Immutable vars can't change; return new value instead [OK]
Common Mistakes:
  • Trying to reassign immutable variable
  • Forgetting to declare variable mutable when needed
  • Ignoring that immutable variables can't be incremented
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard