Bird
Raised Fist0
Goprogramming~15 mins

Adding and updating values in Go - Mini Project: Build & Apply

Choose your learning style10 modes available
Adding and updating values
📖 Scenario: You are managing a small store's inventory. You want to keep track of how many items you have for each product.
🎯 Goal: Create a Go program that stores product quantities in a map, adds a new product, updates the quantity of an existing product, and then shows the final inventory.
📋 What You'll Learn
Create a map called inventory with initial products and quantities
Add a new product with a quantity to the inventory map
Update the quantity of an existing product in the inventory map
Print the final inventory map
💡 Why This Matters
🌍 Real World
Stores and businesses often track their inventory using maps or dictionaries to know how many items they have.
💼 Career
Understanding how to add and update values in maps is essential for managing data in many programming jobs, especially in backend development and data processing.
Progress0 / 4 steps
1
Create the initial inventory map
Create a map called inventory with these exact entries: "apple": 10, "banana": 5, and "orange": 8.
Go
Hint

Use map[string]int to create a map with string keys and int values.

2
Add a new product to the inventory
Add a new product "grape" with quantity 12 to the inventory map.
Go
Hint

Use inventory["grape"] = 12 to add a new key and value to the map.

3
Update the quantity of an existing product
Update the quantity of "banana" in the inventory map to 7.
Go
Hint

Assign the new quantity to inventory["banana"].

4
Print the final inventory
Print the inventory map to show all products and their quantities.
Go
Hint

Use fmt.Println(inventory) to print the map.

Practice

(1/5)
1. What happens when you assign a value to a new key in a Go map using mapName[key] = value?
easy
A. A new key-value pair is added to the map.
B. The map is deleted.
C. The map becomes empty.
D. The program crashes.

Solution

  1. Step 1: Understand map assignment

    Assigning a value to a new key in a map adds that key with the value.
  2. Step 2: Differentiate from update

    If the key exists, the value updates; if not, a new pair is created.
  3. Final Answer:

    A new key-value pair is added to the map. -> Option A
  4. Quick Check:

    Adding new key = new pair added [OK]
Hint: Assigning to new key adds pair, not error or delete [OK]
Common Mistakes:
  • Thinking map clears on new key assignment
  • Confusing adding with deleting
  • Assuming program crashes on new key
2. Which of the following is the correct syntax to update the value for key "age" to 30 in a Go map named person?
easy
A. person["age"] := 30
B. person["age"] = 30
C. person.age = 30
D. person.update("age", 30)

Solution

  1. Step 1: Recall map update syntax

    In Go, map values are updated by assigning with = operator: map[key] = value.
  2. Step 2: Check each option

    person["age"] = 30 uses correct syntax. person["age"] := 30 uses := which is for variable declaration, not map update. person.age = 30 uses dot notation which is invalid for maps. person.update("age", 30) uses a method that does not exist.
  3. Final Answer:

    person["age"] = 30 -> Option B
  4. Quick Check:

    Use = to update map value [OK]
Hint: Use =, not := or dot, to update map values [OK]
Common Mistakes:
  • Using := instead of = for map update
  • Using dot notation for map keys
  • Trying to call update method on map
3. What is the output of this Go code?
m := map[string]int{"a": 1, "b": 2}
m["a"] = 5
fmt.Println(m["a"])
medium
A. 1
B. 2
C. 5
D. 0

Solution

  1. Step 1: Analyze initial map values

    The map m starts with keys "a":1 and "b":2.
  2. Step 2: Update value for key "a"

    m["a"] = 5 changes the value for "a" from 1 to 5.
  3. Step 3: Print updated value

    fmt.Println(m["a"]) prints the updated value 5.
  4. Final Answer:

    5 -> Option C
  5. Quick Check:

    Updated value prints 5 [OK]
Hint: Updated map key prints new value, not old [OK]
Common Mistakes:
  • Expecting old value instead of updated
  • Confusing key "b" value with "a"
  • Thinking print shows zero value
4. Identify the error in this Go code snippet that tries to add a new key-value pair to a map:
var m map[string]int
m["new"] = 10
medium
A. Key "new" is a reserved word and cannot be used.
B. Syntax error: missing semicolon after map declaration.
C. Value 10 must be a string, not int.
D. Map m is nil and not initialized before adding a key.

Solution

  1. Step 1: Understand map initialization

    Declaring var m map[string]int creates a nil map. It must be initialized with make() before adding keys.
  2. Step 2: Identify error cause

    Assigning m["new"] = 10 on a nil map causes runtime panic because map is not initialized.
  3. Final Answer:

    Map m is nil and not initialized before adding a key. -> Option D
  4. Quick Check:

    Maps must be initialized before adding keys [OK]
Hint: Always initialize maps with make() before adding keys [OK]
Common Mistakes:
  • Assuming var declares initialized map
  • Thinking key "new" is invalid
  • Confusing value types for map
5. Given a map inventory := map[string]int{"apple": 5, "banana": 3}, write the correct Go code to add 2 more apples to the inventory without overwriting the existing count.
hard
A. inventory["apple"] += 2
B. inventory["apple"] = inventory["apple"] - 2
C. inventory["apple"] = 2
D. inventory.add("apple", 2)

Solution

  1. Step 1: Understand current value

    Current count for "apple" is 5 in the map.
  2. Step 2: Add 2 without overwriting

    Use += operator to add 2 to existing value: inventory["apple"] += 2.
  3. Step 3: Check other options

    inventory["apple"] = 2 overwrites with 2, not add. inventory["apple"] = inventory["apple"] - 2 subtracts 2. inventory.add("apple", 2) uses a non-existent method.
  4. Final Answer:

    inventory["apple"] += 2 -> Option A
  5. Quick Check:

    Use += to add to map value [OK]
Hint: Use += to add to existing map value, not = [OK]
Common Mistakes:
  • Overwriting value instead of adding
  • Subtracting instead of adding
  • Using non-existent map methods
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