4. Count Instances
names := map[string]int{}
missingNames := []string{}
if _, ok := names["Denna"]; !ok {
// if the key doesn't exist yet,
// append the name to the missingNames slice
missingNames = append(missingNames, "Denna")
}names := map[string]int{}
missingNames := []string{}
if _, ok := names["Denna"]; !ok {
// if the key doesn't exist yet,
// append the name to the missingNames slice
missingNames = append(missingNames, "Denna")
}package main
func updateCounts(messagedUsers []string, validUsers map[string]int) {
for _, name := range messagedUsers {
if _, ok := validUsers[name]; ok {
validUsers[name]++
}
}
}for _, name := range messagedUsers {if _, ok := validUsers[name]; ok {validUsers[name]++validUsers := map[string]int{
"alice": 0,
"bob": 0,
}
messagedUsers := []string{"alice", "invalid", "alice", "bob", "alice"}
updateCounts(messagedUsers, validUsers)
// Result:
// validUsers = {
// "alice": 3, // appeared 3 times
// "bob": 1, // appeared 1 time
// }
// "invalid" was ignored because it's not in validUsersif _, ok := map[key]; ok {
// key exists in map
}validUsers[name]++validUsers[name] = validUsers[name] + 1