Challenge - 5 Problems
Go Map Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
What is the output of this Go map creation code?
Consider the following Go code snippet that creates and initializes a map. What will be printed when this program runs?
Go
package main import "fmt" func main() { m := map[string]int{"apple": 5, "banana": 3} fmt.Println(m["apple"] + m["banana"]) }
Attempts:
2 left
💡 Hint
Remember that map values can be accessed by their keys and you can add integers.
✗ Incorrect
The map has two keys: "apple" with value 5 and "banana" with value 3. Adding these values results in 8.
❓ Predict Output
intermediate2:00remaining
What is the length of the map after this code runs?
Look at this Go code that creates a map and adds elements. What is the length of the map after execution?
Go
package main import "fmt" func main() { m := make(map[int]string) m[1] = "one" m[2] = "two" m[1] = "uno" fmt.Println(len(m)) }
Attempts:
2 left
💡 Hint
Maps cannot have duplicate keys; adding a key again updates the value.
✗ Incorrect
The map has keys 1 and 2. The key 1 is updated, not added again, so length is 2.
❓ Predict Output
advanced2:00remaining
What error does this Go code produce?
This Go code tries to create a map with a nil key. What error will it produce when compiled or run?
Go
package main func main() { m := make(map[*int]string) var p *int = nil m[p] = "nil pointer" }
Attempts:
2 left
💡 Hint
In Go, nil pointers can be used as map keys if the key type is a pointer.
✗ Incorrect
Go allows nil pointers as map keys if the key type is a pointer. No error occurs.
❓ Predict Output
advanced2:00remaining
What is the output of this Go map creation with composite literals?
What will this Go program print when run?
Go
package main import "fmt" func main() { m := map[string][]int{ "a": {1, 2}, "b": {3, 4}, } m["a"] = append(m["a"], 5) fmt.Println(m["a"]) }
Attempts:
2 left
💡 Hint
Appending to a slice inside a map updates the slice stored at that key.
✗ Incorrect
The slice at key "a" is initially [1, 2]. Appending 5 results in [1, 2, 5].
🧠 Conceptual
expert3:00remaining
Which option correctly creates a map with keys of type struct and values of type int?
You want to create a Go map where keys are structs with two int fields and values are integers. Which option correctly declares and initializes this map with one entry where the struct has fields 1 and 2, and the value is 10?
Attempts:
2 left
💡 Hint
Struct field declarations in Go use semicolons or newlines, not commas, and composite literals can use field names.
✗ Incorrect
Option C correctly uses semicolons in struct type and field names in composite literal. Option C misses types, B is verbose but valid syntax but uses redundant struct type in key, D uses comma instead of semicolon causing syntax error.