Pratique — Tipos compostos
Revisão rápida
- Qual é a diferença entre array e slice?
- Por que slices aparecem muito mais no dia a dia do que arrays?
- O que
len retorna em um slice?
- O que
cap retorna em um slice?
- O que
append faz quando o slice não tem capacidade suficiente?
- Como inicializar um map antes de adicionar valores?
Leia o código
contacts := []string{"Bia", "Ana"}
contacts = append(contacts, "Joao")
fmt.Println(len(contacts))
fmt.Println(contacts[2])
- Qual é o tamanho final do slice?
- Qual valor aparece em
contacts[2]?
- O que aconteceria se o código tentasse acessar
contacts[3]?
Maps sem susto
phones := map[string]string{
"Bia": "11999990000",
}
phone, ok := phones["Ana"]
- Qual valor vai para
phone?
- Qual valor vai para
ok?
- Por que o padrão
valor, ok é importante em maps?
Pensando na agenda
- Quando faz sentido retornar contatos em
[]Contact?
- Por que
map[string]Contact é adequado enquanto o UUID ainda é representado como string?
- Por que
Contact.ID, e não Email, deve ser a chave do map?
- Como evitar
assignment to entry in nil map?
- O que muda na Aula 6 quando a chave passa para
uuid.UUID?