How to make and use maps in Golang
Maps in Go (or Golang) are a fundamental data structure used for storing key-value pairs. A map allows efficient lookup, insertion, deletion, and update operations based on keys. In Go, a map is declared using the
map
keyword followed by the key and value types enclosed in square brackets (
map[keyType]valueType
).
Maps in Go are unorder collections, meaning that the iteration order of elements is not guarante. The keys within a map must be unique, and each key can map to exactly one value.
To interact with maps in Go, you can use built-in functions like
make
to create a new map instance,
len
to get the number of key-value pairs, and the
delete
function to remove a key-value pair from the map. Accessing a value associated with a key can be done using square brackets (
map[key]
syntax), which returns the value if the key exists or a zero-value if the key is not present.
Go maps are widely use in various applications for efficient data retrieval and management, such as caching, data indexing, and maintaining associative relationships between entities. Understanding how to create, manipulate, and utilize maps is essential for effective Go programming and building scalable applications.
Using Simple example we will learn mapping in Go lang :
- Go program to illustrate how to create maps
package main
import "fmt"
func main() {
var map_1 map[int]int // Creating and initializing empty map
if map_1 == nil // Checking if the map is nil or not
fmt.Println("True")
} else {
fmt.Println("False")
}
// Creating and initializing a map
map_2: = map[int]string {
90: "Math",
91: "Statistic",
92: "Python",
93: "SQL",
94: "Machine Learning ",
}
fmt.Println("Map-2: ", map_2)
}
Output :
PS C:\GO_Language\Maps> go run maps.go
True
Map-2: map[90:Math 91:Statistic 92:Python 93:SQL 94:Tablue]
- Go program to illustrate, iterate a map using the range for loop. The value of this loop may vary because the map is an unordered collection
package main
import "fmt"
func main() {
M_a_p: = map[int]string {
90: "Math",
91: "Statistic",
92: "Python",
93: "SQL",
94: " Machine Learning ",
}
for id, pet := range m_a_p {
fmt.Println(id, pet)
}
}
Output :
PS C:\GO_Language\Maps> go run maps1.go
92 Python
93 SQL
94 Machine Learning
90 Math
91 Statistic
Using the Mark Function:
- Go program to illustrate the difference between declaring an empty map using with the make()function and without it
package main
import "fmt"
func main() {
var My_course = make(map[float64]string)
fmt.Println(My_map)
My_course[1.3] = "Data Scientist"
My_course[1.5] = "Data Analyst"
fmt.Println(My_course)
}
Output :
PS C:\GO_Language\Maps> go run maps2.go
map[]
map[1.3:Data Scientist 1.5:Data Analyst]
- Go program to illustrate the difference between declaring an empty map using with the make()function and without it.
package main
import "fmt"
// Main function
func main() {
// Creating and initializing a map
m_a_p := map[int]string{
90: "Math",
91: "Statistic",
92: "Python",
93: "SQL",
94: "Tablue",
}
// Iterating map using for rang loop
for id, pet := range m_a_p {
fmt.Println(id, pet)
}
}
Output :
PS C:\GO_Language\Maps> go run maps3.go
90 Math
91 Statistic
92 Python
93 SQL
94 Tablue