A map is an unordered and changeable collection of key-value pairs. The map data structure is used for fast lookups, retrieval, and deletion of data based on keys. It is one of the most picked data structures in computer science.


It maps keys to values. The keys are unique identifiers within a map, while the values may not be. A map key can have the data type for which the equality operator (==) is defined. The data types are:

  • Arrays
  • Booleans
  • Numbers
  • Strings
  • Pointers
  • Structs

Types such as Slices, Maps and Functions are invalid as equality operator (==) is not defined for them. Go provides a built-in map type with a default value of nil. This article will educate you how to use Golang’s built-in map type.

Here's How to Land a Top Software Developer Job

Full Stack Developer - MERN StackExplore Program
Here's How to Land a Top Software Developer Job

How to Create Maps in Golang?

  • Using the Map Literal:

Map with key-value pair


map[Key_Type]Value_Type{key1: value1, ..., keyN: valueN}



  • Using Make Function

A map can also be created by passing the type of key and value to the make() function. It is an inbuilt function. With the following syntax, we can create a new map.


make(map[type of key]type of value) 



Learn the Ins & Outs of Software Development

Caltech Coding BootcampExplore Program
Learn the Ins & Outs of Software Development

Creating an Empty Map

We can create an empty map by following two ways. One is by using the make() function and the other by using the map literal.

The zero or default value of a map is nil. A run-time panic will occur if you try to add elements to a nil map. Hence the map has to be initialized before adding elements. As we already know, the make() function always returns an initialized map. So we can add value to it.



How to Iterate Over a Map?

Using the range for loop, we can iterate over a map. The values printed through the loop may vary because the map is an unordered collection.



Accessing Map Elements

We can access the map elements with the following syntax.


value = map_name[key]


Here's How to Land a Top Software Developer Job

Full Stack Developer - MERN StackExplore Program
Here's How to Land a Top Software Developer Job

Updating and Adding Map Elements

We can update and add the map elements with the following syntax.


map_name[key] = value



Remove Element from Map

We can remove the map elements using the delete() function.


delete(map_name, key)


Check for Specific Elements in a Map

We can check if a certain key exists in a map with the following syntax.


val, ok :=map_name[key]

We can use the blank identifier (_) in place of val, to check the existence of a certain key.


Maps Are Reference Types

Maps are reference types. When you assign a map to a new variable, both refer to the same underlying data structure. The changes done by one variable will affect the content of the other.



Length of Map

We can find the length of a map using the len() function. The len() function calculates the number of elements in a map. 



Here's How to Land a Top Software Developer Job

Full Stack Developer - MERN StackExplore Program
Here's How to Land a Top Software Developer Job

Maps Equality

Maps can be compared by checking each one's individual elements one by one. It can't be compared using the == operator. The == operator only works to check if a map is nil.


Master front-end and back-end technologies and advanced aspects in our Post Graduate Program in Full Stack Web Development. Unleash your career as an expert full stack developer. Get in touch with us NOW!


In this tutorial, we learned how to create and initialize and declare maps, how to create an Empty Map, how to iterate over a Map, how to access map elements, how to update and add map elements, remove elements from map and a lot more operations of Map. This article is comprehensive, covering all the key topics relating to Map in Golang. 

If you aim to build a software development career, you can check the Post-Graduate Program in Full Stack Development by Simplilearn. It can be the ideal solution to help you develop your career in the right direction.

In case you have queries or would like to provide your input to our editorial team regarding this “The Supreme Guide to Golang Maps” tutorial, feel free to use the comments section below. Our team of SMEs will get back to you soon!

Our Software Development Courses Duration And Fees

Software Development Course typically range from a few weeks to several months, with fees varying based on program and institution.

Program NameDurationFees
Caltech Coding Bootcamp

Cohort Starts: 17 Jun, 2024

6 Months$ 8,000
Full Stack Developer - MERN Stack

Cohort Starts: 24 Apr, 2024

6 Months$ 1,449
Automation Test Engineer

Cohort Starts: 1 May, 2024

11 Months$ 1,499
Full Stack Java Developer

Cohort Starts: 14 May, 2024

6 Months$ 1,449