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 istemal karte hain, aur ek missing key ko lookup karna panic nahi karta — yeh bas value type ka zero value wapas kar deta hai.
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"])
}95 91
comma-ok idiom
Kyunke ek missing key chupke se ek zero value wapas 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 maujood nahi thi, jisse aap "key waqai zero tak maps karti hai" ko "key bilkul maujood hi nahi" se alag kar sakte hain.
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)
}0 false 95 true
Aage: structs — related data ko sath mein group karna.
Practice exercise
Ek map ages := map[string]int{} (empty) banayein, "Alice" -> 30 insert karein, phir ages["Alice"] print karein.