Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Accessing Map Values | Intro to Structs & Maps
Introduction to GoLang

book
Accessing Map Values

We can access the value corresponding to a key in a map using the following syntax:

go

index

copy
mapName["keyName"]
1
mapName["keyName"]

For example:

go

index

copy
package main
import "fmt"

func main() {
prices := map[string]int {
"apple": 100,
"banana": 120,
"peach": 170,
}

fmt.Println(prices["apple"]) // Output: 100
fmt.Println(prices["banana"]) // Output: 120
fmt.Println(prices["peach"]) // Output: 170
}
1234567891011121314
package main import "fmt" func main() { prices := map[string]int { "apple": 100, "banana": 120, "peach": 170, } fmt.Println(prices["apple"]) // Output: 100 fmt.Println(prices["banana"]) // Output: 120 fmt.Println(prices["peach"]) // Output: 170 }

The expression prices["apple"] essentially references the memory location where the value 100 is stored; hence, it acts like a variable. Therefore, we can edit the value stored at that key using the = operator:

go

index

copy
package main
import "fmt"

func main() {
prices := map[string]int {
"apple": 100,
"banana": 120,
"peach": 170,
}

prices["apple"] = 160
fmt.Println(prices["apple"]) // Output: 160
}
12345678910111213
package main import "fmt" func main() { prices := map[string]int { "apple": 100, "banana": 120, "peach": 170, } prices["apple"] = 160 fmt.Println(prices["apple"]) // Output: 160 }

We can use the same assignment syntax to create a new key in the map:

python
mapName["keyName"] = value

If the provided keyName doesn't exist in the map, it will create and add a new key to the map with the assigned value.

go

index

copy
package main
import "fmt"

func main() {
numbers := map[string]int {
"one": 1,
"two": 2,
"three": 3,
}
fmt.Println(numbers) // Output: map[one:1 three:3 two:2]
numbers["four"] = 4
fmt.Println(numbers) // Output: map[four:4 one:1 three:3 two:2]
}
1234567891011121314151617
package main import "fmt" func main() { numbers := map[string]int { "one": 1, "two": 2, "three": 3, } fmt.Println(numbers) // Output: map[one:1 three:3 two:2] numbers["four"] = 4 fmt.Println(numbers) // Output: map[four:4 one:1 three:3 two:2] }
question mark

What will be the output of the following code?

package main
import "fmt"

func main() {
newMap := make(map[string]int)
newMap["someKey"] = 7
fmt.Println(newMap)
}

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 6. Chapter 6
some-alt