Bird
Raised Fist0
Swiftprogramming~15 mins

Why let and var distinction matters in Swift - See It in Action

Choose your learning style10 modes available
Why let and var distinction matters
📖 Scenario: Imagine you are organizing a small event and need to keep track of the number of guests and the event name. Some information will stay the same, while other information might change.
🎯 Goal: You will create variables and constants using var and let in Swift to understand why the distinction matters.
📋 What You'll Learn
Create a constant called eventName with the value "Birthday Party"
Create a variable called guestCount with the value 10
Increase the guestCount by 5
Print both eventName and guestCount
💡 Why This Matters
🌍 Real World
In real life, some information stays the same, like the event name, while other information changes, like the number of guests. Using constants and variables helps keep track of this clearly in your programs.
💼 Career
Understanding when to use constants and variables is a basic skill for any Swift developer. It helps write reliable and maintainable code, which is important in app development and software engineering jobs.
Progress0 / 4 steps
1
Create the initial data
Create a constant called eventName and set it to "Birthday Party". Create a variable called guestCount and set it to 10.
Swift
Hint

Use let for values that do not change and var for values that can change.

2
Update the guest count
Increase the variable guestCount by 5 using the += operator.
Swift
Hint

Use guestCount += 5 to add 5 to the current guest count.

3
Try to change the event name
Try to change the constant eventName to "Wedding Party". (This will cause an error, but type the line exactly as shown.)
Swift
Hint

This line will cause an error because eventName is a constant and cannot be changed.

4
Print the event name and guest count
Print the values of eventName and guestCount using two separate print statements.
Swift
Hint

Use print(eventName) and print(guestCount) to show the values.

Practice

(1/5)
1. What is the main difference between let and var in Swift?
easy
A. let declares a variable, var declares a constant.
B. let declares a constant, var declares a variable.
C. let is used for functions, var is used for classes.
D. let and var are interchangeable.

Solution

  1. Step 1: Understand let usage

    let is used to declare constants, meaning their value cannot change after being set.
  2. Step 2: Understand var usage

    var is used to declare variables, which can be changed after initialization.
  3. Final Answer:

    let declares a constant, var declares a variable. -> Option B
  4. Quick Check:

    let = constant, var = variable [OK]
Hint: Remember: let = fixed, var = changeable [OK]
Common Mistakes:
  • Thinking let can be changed after assignment
  • Confusing let and var roles
  • Assuming both behave the same
2. Which of the following is the correct way to declare a variable that can change in Swift?
easy
A. var score = 10
B. const score = 10
C. let score = 10
D. variable score = 10

Solution

  1. Step 1: Identify Swift syntax for variable declaration

    In Swift, var is used to declare variables that can change.
  2. Step 2: Check each option

    let score = 10 declares a constant. const score = 10 and variable score = 10 use invalid keywords. var score = 10 is correct.
  3. Final Answer:

    var score = 10 -> Option A
  4. Quick Check:

    Use var for changeable values [OK]
Hint: Use var for changeable values, let for fixed ones [OK]
Common Mistakes:
  • Using let instead of var for variables
  • Using non-Swift keywords like const or variable
  • Syntax errors from wrong keywords
3. What will be the output of this Swift code?
var count = 5
count = 10
print(count)
medium
A. 5
B. Error: Cannot assign to 'count' because it is a let constant
C. 10
D. nil

Solution

  1. Step 1: Analyze variable declaration and assignment

    count is declared with var, so it can be changed. Initially, it is 5, then reassigned to 10.
  2. Step 2: Understand print output

    The print statement outputs the current value of count, which is 10 after reassignment.
  3. Final Answer:

    10 -> Option C
  4. Quick Check:

    var allows reassignment, so output is 10 [OK]
Hint: var allows change, so print latest value [OK]
Common Mistakes:
  • Thinking count stays 5 after reassignment
  • Confusing var with let causing error
  • Expecting nil output
4. Identify the error in this Swift code:
let name = "Alice"
name = "Bob"
medium
A. Cannot assign to 'name' because it is a constant
B. Missing semicolon after first line
C. Variable 'name' not declared
D. No error, code runs fine

Solution

  1. Step 1: Check declaration of name

    name is declared with let, making it a constant.
  2. Step 2: Check reassignment attempt

    The code tries to assign a new value to name, which is not allowed for constants.
  3. Final Answer:

    Cannot assign to 'name' because it is a constant -> Option A
  4. Quick Check:

    let constants cannot be reassigned [OK]
Hint: let means no change allowed, reassignment causes error [OK]
Common Mistakes:
  • Assuming let variables can be reassigned
  • Thinking semicolon is required in Swift
  • Ignoring error messages
5. You want to keep track of a user's score that changes during the game, but also store the user's ID which never changes. Which declarations are correct?
hard
A. var userID = 12345 let score = 0
B. let userID = 12345 let score = 0
C. var userID = 12345 var score = 0
D. let userID = 12345 var score = 0

Solution

  1. Step 1: Identify which values change

    User ID never changes, so it should be a constant declared with let. Score changes, so it should be a variable declared with var.
  2. Step 2: Match declarations to requirements

    let userID = 12345 var score = 0 correctly declares userID with let and score with var.
  3. Final Answer:

    let userID = 12345 var score = 0 -> Option D
  4. Quick Check:

    Constants for fixed data, variables for changing data [OK]
Hint: Use let for fixed ID, var for changing score [OK]
Common Mistakes:
  • Using var for fixed values causing accidental changes
  • Using let for changing values causing errors
  • Mixing up which data changes
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