Files
bootdotdev-fcc-learn-golang…/course/9-maps/exercises/1-maps/complete.go
wagslane 9be3074de6 first
2023-05-01 15:25:27 -06:00

59 lines
1.2 KiB
Go

package main
import (
"errors"
"fmt"
)
func getUserMap(names []string, phoneNumbers []int) (map[string]user, error) {
users := make(map[string]user)
if len(names) != len(phoneNumbers) {
return nil, errors.New("invalid sizes")
}
for i := range names {
name := names[i]
users[name] = user{
name: name,
phoneNumber: phoneNumbers[i],
}
}
return users, nil
}
// don't touch below this line
type user struct {
name string
phoneNumber int
}
func test(names []string, phoneNumbers []int) {
fmt.Println("Creating map...")
defer fmt.Println("====================================")
users, err := getUserMap(names, phoneNumbers)
if err != nil {
fmt.Println(err)
return
}
for _, name := range names {
fmt.Printf("key: %v, value:\n", name)
fmt.Println(" - name:", users[name].name)
fmt.Println(" - number:", users[name].phoneNumber)
}
}
func main() {
test(
[]string{"John", "Bob", "Jill"},
[]int{14355550987, 98765550987, 18265554567},
)
test(
[]string{"John", "Bob"},
[]int{14355550987, 98765550987, 18265554567},
)
test(
[]string{"George", "Sally", "Rich", "Sue"},
[]int{20955559812, 38385550982, 48265554567, 16045559873},
)
}