map — key-value pairs, dynamic. Struct — fixed fields, typed.
Map:
1m := map[string]int{2 "alice": 30,3 "bob": 25,4}56m["charlie"] = 35 // Add new7delete(m, "bob") // Remove8value, ok := m["alice"] // Check existence
Struct:
1type Person struct {2 Name string3 Age int4}56p := Person{Name: "Alice", Age: 30}7p.Age = 31 // Modify
When to use: