Contact Book: operações
As regras do projeto começam a sair de main e ganhar nomes próprios.
type Contact struct {
ID string
Name string
Email string
Phone string
Favorite bool
}
func findContactByID(contacts []Contact, id string) (Contact, error) {
for _, contact := range contacts {
if contact.ID == id {
return contact, nil
}
}
return Contact{}, fmt.Errorf("contact not found")
}
func countFavorites(contacts []Contact) int {
count := 0
for _, contact := range contacts {
if contact.Favorite {
count++
}
}
return count
}
Nota: A struct é fornecida como apoio nesta etapa. A Aula 5 explica como structs e slices funcionam.
Implemente também addContact e trate todo erro retornado por findContactByID.
Confira o exemplo completo da Aula 4.