Bird
Raised Fist0
Swiftprogramming~5 mins

Let for constants (immutable) in Swift

Choose your learning style10 modes available
Introduction

Use let to create values that do not change. This helps keep your program safe and clear.

When you have a value that should never change, like the number of days in a week.
When you want to avoid mistakes by accidentally changing a value later.
When you want to make your code easier to understand by showing which values stay the same.
When you store fixed settings or constants in your app.
When you want to improve performance by letting the system know the value is constant.
Syntax
Swift
let constantName: Type = value

You can omit the type if Swift can guess it from the value.

Once set, you cannot change the value of a let constant.

Examples
Creates a constant pi with a decimal number. Swift knows it is a Double.
Swift
let pi = 3.14159
Creates an integer constant maxScore with value 100.
Swift
let maxScore: Int = 100
A constant string that cannot be changed later.
Swift
let greeting = "Hello, friend!"
Sample Program

This program shows how to use let to store a constant number of days in a week. Trying to change it will cause an error.

Swift
import Foundation

let daysInWeek = 7
// daysInWeek = 8 // This would cause an error because daysInWeek is a constant

print("There are \(daysInWeek) days in a week.")
OutputSuccess
Important Notes

Trying to change a let constant after setting it will cause a compile-time error.

Use var if you need a value that can change.

Constants help make your code safer and easier to read.

Summary

let creates a constant value that cannot change.

Use it to protect values that should stay the same.

It helps prevent bugs and makes your code clearer.

Practice

(1/5)
1. What does the let keyword do in Swift?
easy
A. Defines a function
B. Creates a variable that can be changed anytime
C. Creates a constant value that cannot be changed
D. Declares a class

Solution

  1. Step 1: Understand the purpose of let

    The let keyword is used to declare constants in Swift, meaning the value assigned cannot be changed later.
  2. Step 2: Compare with other keywords

    Unlike var, which declares variables that can change, let ensures immutability.
  3. Final Answer:

    Creates a constant value that cannot be changed -> Option C
  4. Quick Check:

    let means constant = A [OK]
Hint: Remember: let = fixed value, var = changeable value [OK]
Common Mistakes:
  • Confusing let with var
  • Thinking let declares variables
  • Assuming let can be reassigned
2. Which of the following is the correct way to declare a constant integer named age with value 30 in Swift?
easy
A. let age = 30
B. var age = 30
C. constant age = 30
D. const age = 30

Solution

  1. Step 1: Identify correct Swift syntax for constants

    In Swift, let is used to declare constants, so let age = 30 is correct.
  2. Step 2: Check other options

    var declares a variable, not a constant. constant and const are not valid Swift keywords.
  3. Final Answer:

    let age = 30 -> Option A
  4. Quick Check:

    Use let for constants = B [OK]
Hint: Use let for constants, var for variables [OK]
Common Mistakes:
  • Using var instead of let for constants
  • Using non-Swift keywords like const
  • Syntax errors with declaration
3. What will be the output of this Swift code?
let number = 10
// number = 20
print(number)
medium
A. 10
B. Compile-time error
C. 20
D. Runtime error

Solution

  1. Step 1: Understand the code behavior

    The constant number is set to 10. The line trying to change it to 20 is commented out, so it does not run.
  2. Step 2: Determine the printed value

    Since number remains 10, print(number) outputs 10.
  3. Final Answer:

    10 -> Option A
  4. Quick Check:

    Constant unchanged prints original value = 10 [OK]
Hint: Commented code does not run; constant stays same [OK]
Common Mistakes:
  • Thinking commented code runs
  • Expecting reassignment to work
  • Confusing output with attempted change
4. Identify the error in this Swift code:
let pi = 3.14
pi = 3.14159
print(pi)
medium
A. No error, prints 3.14159
B. Compile-time error: cannot assign to value: 'pi' is a 'let' constant
C. Runtime error: variable not initialized
D. Syntax error: missing semicolon

Solution

  1. Step 1: Check reassignment of constant

    The code tries to assign a new value to pi, which was declared with let and is immutable.
  2. Step 2: Understand Swift's error

    Swift does not allow changing a constant's value, so this causes a compile-time error.
  3. Final Answer:

    Compile-time error: cannot assign to value: 'pi' is a 'let' constant -> Option B
  4. Quick Check:

    Reassigning let constant causes compile error = D [OK]
Hint: Constants cannot be changed after assignment [OK]
Common Mistakes:
  • Trying to reassign let constants
  • Expecting runtime error instead of compile error
  • Ignoring error messages
5. You want to store the number of days in a week as a constant in Swift. Which code correctly declares this and prevents accidental changes later?
hard
A. let daysInWeek // Assign value later
B. var daysInWeek = 7 // Later changed to 8 accidentally
C. constant daysInWeek = 7 // Prevents changes
D. let daysInWeek = 7 // daysInWeek cannot be changed later

Solution

  1. Step 1: Choose correct keyword for constant

    Using let declares a constant that cannot be changed after assignment.
  2. Step 2: Check code correctness

    let daysInWeek = 7 // daysInWeek cannot be changed later declares and assigns daysInWeek with 7 and prevents changes later. var daysInWeek = 7 // Later changed to 8 accidentally uses var which allows changes. constant daysInWeek = 7 // Prevents changes uses invalid keyword. let daysInWeek // Assign value later declares without assignment, which is invalid for constants.
  3. Final Answer:

    let daysInWeek = 7 // daysInWeek cannot be changed later -> Option D
  4. Quick Check:

    Use let with assignment to make constant = A [OK]
Hint: Use let with immediate value to make constant [OK]
Common Mistakes:
  • Using var instead of let for constants
  • Trying to declare let without initial value
  • Using non-Swift keywords like constant
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