Creating and Manipulating Go Maps (Challenge)

GoGoBeginner
Practice Now

This tutorial is from open-source community. Access the source code

Introduction

In Go, maps are built-in associative data types that allow you to store key/value pairs. This challenge will test your ability to create, manipulate, and delete key/value pairs in a map.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL go(("`Go`")) -.-> go/DataTypesandStructuresGroup(["`Data Types and Structures`"]) go/DataTypesandStructuresGroup -.-> go/maps("`Maps`") subgraph Lab Skills go/maps -.-> lab-15407{{"`Creating and Manipulating Go Maps (Challenge)`"}} end

Maps

In this challenge, you will need to create a map that stores the number of times each word appears in a given string. You will need to split the string into words, and then iterate over each word, adding it to the map if it doesn't already exist, or incrementing its count if it does.

Requirements

  • You must use a map to store the word counts.
  • You must split the input string into words.
  • You must iterate over each word in the input string.
  • You must add each word to the map if it doesn't already exist, or increment its count if it does.

Example

## Note that maps appear in the form `map[k:v k:v]` when
## printed with `fmt.Println`.
$ go run maps.go
map: map[k1:7 k2:13]
v1: 7
v3: 0
len: 2
map: map[k1:7]
prs: false
map: map[bar:2 foo:1]

Summary

In this challenge, you learned how to use maps in Go to store key/value pairs. You also learned how to split a string into words, iterate over each word, and add it to a map. By completing this challenge, you should have a better understanding of how to use maps in your Go programs.

Other Go Tutorials you may like