Pular para conteúdo

Exercícios: Estruturas de Dados Avançadas 🗄️

Instruções

Exercite o uso de Slices, Maps e Structs em Go.


🟢 Nível: Básico

  1. Slices: Crie um slice de strings com 3 nomes de cidades. Use append para adicionar uma quarta cidade.
  2. Maps: Crie um mapa que armazena nomes de países (chave) e suas capitais (valor). Imprima a capital do Brasil.

🟡 Nível: Intermediário

  1. Structs: Defina uma struct Produto com Nome, Preco e Quantidade. Crie uma instância e imprima o valor total em estoque (Preco * Quantidade).
  2. Slicing: Dado o slice numeros := []int{10, 20, 30, 40, 50}, extraia um novo slice que contenha apenas os valores 20, 30, 40.

🔴 Nível: Desafio

5. Sistema de Estoque: Crie um programa que use um map[string]Produto. O usuário deve poder digitar o nome de um produto e o programa exibe todos os detalhes daquela struct Produto. Se o produto não existir, exiba uma mensagem de erro.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Slices **Resolução e Implementação:**
// Estrutura de implementação recomendada para Slices
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Estruturas de Dados Avançadas ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Maps **Resolução e Implementação:**
// Estrutura de implementação recomendada para Maps
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Estruturas de Dados Avançadas ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Structs **Resolução e Implementação:**
// Estrutura de implementação recomendada para Structs
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Estruturas de Dados Avançadas ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Slicing **Resposta Comentada:** - **Fundamentação:** No contexto de **Estruturas de Dados Avançadas ️**, o conceito abordado (Slicing) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Sistema de Estoque **Resolução e Implementação:**
// Estrutura de implementação recomendada para Sistema de Estoque
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Estruturas de Dados Avançadas ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.