Bird
Raised Fist0
Swiftprogramming~10 mins

Why let and var distinction matters in Swift - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to declare a constant in Swift.

Swift
let number = [1]
Drag options to blanks, or click blank then click option'
A10
Bvar
Clet
D"ten"
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'var' instead of a value
Assigning a string instead of a number
2fill in blank
medium

Complete the code to declare a variable in Swift.

Swift
var name = [1]
Drag options to blanks, or click blank then click option'
A10
Bvar
Clet
D"Alice"
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'let' instead of a value
Assigning a number instead of a string
3fill in blank
hard

Fix the error in the code by choosing the correct keyword to allow changing the value.

Swift
[1] score = 5
score = 10
Drag options to blanks, or click blank then click option'
Ascore
B10
Cvar
Dlet
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'let'
Choosing a value like '10' instead of the keyword
Choosing 'score'
4fill in blank
hard

Choose the keyword that allows mutating the array by appending an element.

Swift
[1] scores = [85, 90]
scores.append(95)
Drag options to blanks, or click blank then click option'
Alet
Bvar
Cconstant
Dfinal
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing 'let'
Using non-Swift keywords like 'constant'
5fill in blank
hard

Choose the keyword that allows the function to modify the counter.

Swift
[1] counter = 0

func incrementCounter() {
  counter += 1
}

incrementCounter()
print(counter)
Drag options to blanks, or click blank then click option'
Avar
Bstatic let
Clet
Dprivate var
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing 'let'
Adding unnecessary modifiers like 'static' or 'private'

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