To clear a map in Golang, you can either “reinitialize the map with make() function” or “for loop with delete() function.”
Method 1: Reinitialize the map with make()
Reinitializing the map with the make() function is more idiomatic and efficient in Go. If not referenced elsewhere, the old map will be collected by the garbage collector.
Reinitializing like this is generally faster than iterating through the map and deleting each entry, especially for larger maps.
Syntax
m = make(map[string]int)
Example
package main
import (
"fmt"
)
func main() {
m := map[string]int{
"A": 1,
"B": 2,
"C": 3,
}
fmt.Println("Before clearing:", m)
m = make(map[string]int)
fmt.Println("After clearing:", m)
}
Output
This will point “m” to a new empty map; if there are no other references to the old map, the garbage collector will clean it up eventually.
Method 2: for loop with delete() function
To clear all the entries from a map in Go, you can use a “for loop.”
Example
package main
import (
"fmt"
)
func main() {
m := map[string]int{
"A": 1,
"B": 2,
"C": 3,
}
fmt.Println("Before clearing:", m)
// Clearing the map
for k := range m {
delete(m, k)
}
fmt.Println("After clearing:", m)
}
Output
Before clearing: map[A:1 B:2 C:3]
After clearing: map[]
The key function here is delete(), which removes the key-value pair associated with the given key from the map. Looping over the map and deleting every key effectively clears the map.
There are scenarios where you might want to clear the existing map. This is especially true when multiple parts of the code reference the same map. In such cases, clearing the map in-place ensures that all references see the cleared state.
That’s it!
Related posts
How to Declare a Constant Map in Go

Krunal Lathiya is a seasoned Computer Science expert with over eight years in the tech industry. He boasts deep knowledge in Data Science and Machine Learning. Versed in Python, JavaScript, PHP, R, and Golang. Skilled in frameworks like Angular and React and platforms such as Node.js. His expertise spans both front-end and back-end development. His proficiency in the Python language stands as a testament to his versatility and commitment to the craft.