Maps
Ek map key-value pairs store karta hai, jo map[KeyType]ValueType se declare kiya jaata hai. Map literals aur assignment dono familiar syntax use karte hain, aur ek missing key ko lookup karna panic nahi karta — yeh bas value type ka zero value return kar deta hai.
main.go
Khud try karo →package main
import "fmt"
func main() {
scores := map[string]int{"Alice": 95, "Bob": 87}
scores["Carol"] = 91
fmt.Println(scores["Alice"])
fmt.Println(scores["Carol"])
}Output
95 91
comma-ok idiom
Kyunki ek missing key chupke se ek zero value return karta hai, Go aapko dono cases mein farq karne ke liye ek second return value deta hai: value, ok := m[key], ok ko false set kar deta hai agar key present nahi thi, jisse aap "key genuinely zero tak maps karti hai" ko "key bilkul exist hi nahi karti" se alag kar sakte ho.
main.go
Khud try karo →package main
import "fmt"
func main() {
scores := map[string]int{"Alice": 95, "Bob": 87}
value, ok := scores["Dave"]
fmt.Println(value, ok)
value, ok = scores["Alice"]
fmt.Println(value, ok)
}Output
0 false 95 true
Aage: structs — related data ko saath mein group karna.
Practice exercise
Ek map ages := map[string]int{} (empty) banao, "Alice" -> 30 insert karo, phir ages["Alice"] print karo.