📖 Scenario: You are organizing a small library system where you keep track of the number of books available in different genres.
🎯 Goal: You will create variables with explicit type annotations to store the number of books in each genre, then calculate the total number of books.
📋 What You'll Learn
Create variables with explicit type annotations for book counts
Use integer type Int for the counts
Calculate the total number of books using these variables
Print the total number of books
💡 Why This Matters
🌍 Real World
Explicit type annotations help programmers clearly define what kind of data each variable holds, which reduces mistakes and makes code easier to read and maintain.
💼 Career
Many software development jobs require writing clear and type-safe code. Understanding explicit type annotations is essential for working with Swift and other typed languages.
Progress0 / 4 steps
1
Create book count variables with explicit type annotation
Create three variables with explicit type annotation Int named fictionCount, historyCount, and scienceCount. Set their values to 12, 8, and 15 respectively.
Swift
Hint
Use var variableName: Int = value to declare variables with explicit type annotation.
2
Create a variable to hold the total count
Create a variable called totalBooks with explicit type annotation Int and set it to 0.
Swift
Hint
Remember to specify the type Int explicitly when declaring totalBooks.
3
Calculate the total number of books
Add the values of fictionCount, historyCount, and scienceCount and assign the result to totalBooks.
Swift
Hint
Use the + operator to add the counts and assign to totalBooks.
4
Print the total number of books
Write a print statement to display the value of totalBooks.
Swift
Hint
Use print(totalBooks) to show the total number of books.
Practice
(1/5)
1. What does explicit type annotation in Swift do?
easy
A. It removes the need to declare variables.
B. It automatically converts types during runtime.
C. It tells the exact data type of a variable or constant.
D. It makes the program run faster by skipping type checks.
Solution
Step 1: Understand the purpose of explicit type annotation
Explicit type annotation is used to specify the exact data type of a variable or constant in Swift.
Step 2: Compare with other options
The other options describe behaviors unrelated to explicit type annotation, such as automatic conversion, removing the need to declare variables, or performance improvements.
Final Answer:
It tells the exact data type of a variable or constant. -> Option C
Quick Check:
Explicit type annotation = exact data type [OK]
Hint: Explicit type annotation means writing the type after the variable name [OK]
Common Mistakes:
Thinking it changes runtime behavior
Confusing with type inference
Believing it speeds up code execution
2. Which of the following is the correct syntax for explicit type annotation in Swift?
easy
A. var age: Int = 25
B. var age = Int: 25
C. var age Int = 25
D. var age = 25: Int
Solution
Step 1: Recall Swift syntax for explicit type annotation
The correct syntax is to write the variable name, then a colon, then the type, then an equals sign and the value.
Step 2: Check each option
var age: Int = 25 matches this syntax exactly. The other options have misplaced colons or missing punctuation.
Final Answer:
var age: Int = 25 -> Option A
Quick Check:
Variable name : Type = value [OK]
Hint: Remember: variableName: Type = value [OK]
Common Mistakes:
Putting colon after the value
Missing colon between name and type
Using equal sign before type
3. What will be the output of this Swift code?
let pi: Double = 3
print(pi)
medium
A. Error: Cannot assign Int to Double
B. 3
C. 3.00
D. 3.0
Solution
Step 1: Analyze the type annotation and assigned value
The variable pi is declared as a Double but assigned the integer 3. Swift converts the integer 3 to 3.0 automatically.
Step 2: Understand print output for Double
Printing a Double with value 3 prints as 3.0 by default.
Final Answer:
3.0 -> Option D
Quick Check:
Double 3 prints as 3.0 [OK]
Hint: Assigning Int to Double converts to decimal automatically [OK]
Common Mistakes:
Expecting a compile error
Thinking print shows integer 3
Confusing Double formatting
4. Identify the error in this Swift code:
var name: String = 123
print(name)
medium
A. Type mismatch: cannot assign Int to String
B. Variable name is a reserved keyword
C. Missing explicit type annotation
D. No error, prints 123
Solution
Step 1: Check the declared type and assigned value
The variable name is declared as String but assigned an integer 123, which is a type mismatch.
Step 2: Understand Swift's type safety
Swift does not allow assigning an Int to a String variable, causing a compile-time error.
Final Answer:
Type mismatch: cannot assign Int to String -> Option A
Quick Check:
Type mismatch error = Type mismatch: cannot assign Int to String [OK]
Hint: Check if assigned value matches declared type exactly [OK]
Common Mistakes:
Assuming implicit conversion from Int to String
Ignoring type mismatch errors
Thinking variable names are reserved keywords
5. You want to store a list of ages as integers but accidentally write:
var ages: [String] = [20, 25, 30]
What is the best fix using explicit type annotation?
hard
A. Change to var ages = ["20", "25", "30"]
B. Change to var ages: [Int] = [20, 25, 30]
C. Remove type annotation and write var ages = [20, 25, 30]
D. Change to var ages: Int = [20, 25, 30]
Solution
Step 1: Identify the mismatch between type and values
The variable ages is declared as an array of Strings but assigned integer values, causing a type mismatch.
Step 2: Fix by matching type annotation to actual data
Changing the type annotation to [Int] matches the integer values in the array.
Final Answer:
var ages: [Int] = [20, 25, 30] -> Option B
Quick Check:
Array type matches element types [OK]
Hint: Match array type annotation to the element types [OK]
Common Mistakes:
Changing values to strings unnecessarily
Removing type annotation without understanding
Using single Int type for array
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.