Construir um Projeto Go Modular

GolangBeginner
Pratique Agora

Introdução

Neste desafio, você demonstrará seu domínio sobre Go Modules criando um projeto estruturado que exemplifica habilidades de gerenciamento de pacotes para uma pequena biblioteca de utilitários. O desafio consiste em criar um pacote utilitário com uma função que converte uma string para letras maiúsculas e um pacote principal que importa e utiliza essa função. Você também precisará inicializar os Go Modules para ambos os pacotes e garantir que o pacote principal seja executado corretamente, exibindo a string convertida.

Este é um Desafio (Challenge), que difere de um Laboratório Guiado (Guided Lab) por exigir que você tente concluir a tarefa de forma independente, em vez de apenas seguir instruções passo a passo. Desafios costumam ser um pouco mais complexos. Se encontrar dificuldades, você pode debater com o Labby ou consultar a solução. Dados históricos mostram que este é um desafio de nível iniciante com uma taxa de aprovação de 95%. Ele recebeu uma taxa de avaliações positivas de 98% dos alunos.

Construir um Projeto Go Modular

Neste desafio, você colocará em prática seus conhecimentos sobre Go Modules ao criar um projeto modular que demonstra o gerenciamento de pacotes em uma biblioteca simples. Para facilitar o processo, fornecemos um script de configuração que inicializa a estrutura do projeto e preenche a estrutura básica do código. Sua tarefa é completar as seções marcadas com TODO no código.

Tarefas

  1. Acesse ~/project/utility/helper.go e complete a seção TODO:

    // TODO: Implement the ToUpperCase function using strings.ToUpper
  2. Acesse ~/project/main/main.go e complete as seções TODO:

    // TODO: Call the utility.ToUpperCase function
    // TODO: Print the result using fmt.Println

Requisitos

  • Complete os arquivos ~/project/utility/helper.go e ~/project/main/main.go preenchendo as seções TODO.
  • O pacote utilitário deve definir uma função chamada ToUpperCase que converte uma string para maiúsculas.
  • O pacote principal deve chamar a função ToUpperCase e exibir o resultado.

Exemplos

Após completar as seções TODO, a estrutura do seu projeto deve ser a seguinte:

~/project/
├── utility/
│   ├── go.mod
│   └── helper.go
└── main/
    ├── go.mod
    └── main.go

Ao executar o pacote principal, a saída deve ser:

cd ~/project/main
go get utility
go run main.go
HELLO, WORLD

Dicas

  • A função strings.ToUpper da biblioteca padrão pode ajudar na conversão da string para maiúsculas.
  • Utilize go mod init para inicializar os Go Modules. (Isso já foi feito para você no ambiente).
  • Utilize go get utility para importar o pacote utilitário local dentro do pacote principal.
✨ Verificar Solução e Praticar

Resumo

Em resumo, este desafio exigiu a criação de um projeto Go modular para demonstrar sua compreensão sobre Go Modules e gerenciamento de pacotes. Você desenvolveu um pacote utilitário com uma função de conversão de strings e um pacote principal que integra essa funcionalidade. O desafio também envolveu a inicialização de módulos para ambos os pacotes, garantindo que o pacote principal fosse executado com sucesso e exibisse o resultado esperado.