Domine Golang com Nunu: Guia completo

Fernando Muller Junior - Aug 22 - - Dev Community

O Golang, também conhecido como Go, é uma linguagem de programação moderna e concorrente desenvolvida pela Google. Com sua sintaxe simples e concisa, o Golang se tornou uma escolha popular entre os desenvolvedores de sistemas distribuídos e concorrentes. Nunu, por sua vez, é uma ferramenta de linha de comando que permite criar e gerenciar aplicativos de forma eficiente. Neste artigo, vamos explorar como iniciar com Golang e Nunu, abordando os conceitos básicos e práticas para desenvolvedores que desejam criar aplicativos escaláveis e concorrentes.

nunu cli

Por que escolher Golang?

Simplicidade e Produtividade

Golang foi projetada para ser simples e produtiva. Sua sintaxe clara e concisa permite que desenvolvedores escrevam código limpo e fácil de manter. Diferentemente de outras linguagens de programação, Golang elimina muitas complexidades desnecessárias, permitindo que você se concentre na lógica do seu programa.

Desempenho Excepcional

Uma das principais razões para a popularidade de Golang é seu desempenho excepcional. Sendo uma linguagem compilada, Golang oferece velocidade de execução próxima a linguagens de baixo nível como C, mas com a conveniência de uma sintaxe moderna e recursos de alto nível.

Leia mais sobre o desempenho de Golang

Veja como usar terminal Linux no Windows usando WSL2 Windows.

Concorrência Incorporada

Golang brilha quando se trata de programação concorrente. Com goroutines e canais, Golang torna a escrita de código concorrente tão simples quanto programação sequencial tradicional. Isso é especialmente útil em sistemas distribuídos e aplicações que precisam lidar com múltiplas tarefas simultaneamente.

Configurando seu Ambiente de Desenvolvimento

Instalando Golang no Linux

Para começar com Golang no Linux, siga estes passos:

  1. Baixe o pacote de instalação do site oficial do Golang.
  2. Extraia o arquivo no diretório /usr/local:
   sudo tar -C /usr/local -xzf go1.x.x.linux-amd64.tar.gz
Enter fullscreen mode Exit fullscreen mode
  1. Adicione o diretório Go ao seu PATH:
   echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
   source ~/.bashrc
Enter fullscreen mode Exit fullscreen mode
  1. Verifique a instalação:
   go version
Enter fullscreen mode Exit fullscreen mode

Introdução ao Nunu

Nunu é uma ferramenta inovadora que simplifica o desenvolvimento em Golang. Ela oferece um conjunto de funcionalidades que agilizam o processo de criação, teste e implantação de aplicações Go.

Para instalar o Nunu, execute:

go install github.com/nunu-framework/nunu@latest
Enter fullscreen mode Exit fullscreen mode

Saiba mais sobre o Nunu e suas funcionalidades

Criando seu Primeiro Projeto Golang com Nunu

Iniciando um Novo Projeto

Com o Nunu instalado, criar um novo projeto Golang é simples:

  1. Abra o terminal.
  2. Navegue até o diretório onde deseja criar seu projeto.
  3. Execute o comando:
   nunu new meu-projeto-go
Enter fullscreen mode Exit fullscreen mode
  1. O Nunu criará uma estrutura de projeto padrão para você.

Estrutura do Projeto

A estrutura típica de um projeto Golang criado com Nunu inclui:

meu-projeto-go/
├── cmd/
│   └── main.go
├── internal/
│   ├── config/
│   ├── handler/
│   ├── model/
│   └── service/
├── pkg/
├── go.mod
└── go.sum
Enter fullscreen mode Exit fullscreen mode

Esta estrutura promove uma organização limpa e modular do seu código, facilitando a manutenção e escalabilidade do projeto.

Desenvolvendo com Golang e Nunu

Escrevendo Código com Golang

Agora que você tem um projeto criado, é hora de escrever seu primeiro código com Golang. Abra o arquivo main.go e adicione o seguinte código:

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprint(w, "Olá, mundo!")
    })

    http.ListenAndServe(":8080", nil)
}
Enter fullscreen mode Exit fullscreen mode

Este código demonstra a simplicidade e clareza da sintaxe Go. A função main é o ponto de entrada do programa, e usamos o pacote fmt para imprimir na tela.
Este código cria um servidor HTTP simples que imprime "Olá, mundo!" quando você acessa a raiz do servidor.

Executando o Código com Nunu

Para executar o código, use o comando nunu run no terminal. Isso iniciará o servidor e você poderá acessá-lo em http://localhost:8080.

Utilizando Recursos do Nunu

O Nunu oferece várias ferramentas para acelerar seu desenvolvimento. Por exemplo, para gerar um novo handler HTTP:

nunu generate handler user
Enter fullscreen mode Exit fullscreen mode

Este comando criará um novo arquivo de handler com estrutura básica para lidar com requisições HTTP relacionadas a usuários.

Testando e Depurando

Escrevendo Testes em Go

Golang tem suporte nativo para testes. Crie um arquivo main_test.go:

package main

import "testing"

func TestHelloWorld(t *testing.T) {
    expected := "Hello, World!"
    if got := helloWorld(); got != expected {
        t.Errorf("helloWorld() = %q, want %q", got, expected)
    }
}
Enter fullscreen mode Exit fullscreen mode

Execute os testes com:

go test
Enter fullscreen mode Exit fullscreen mode

Depuração com Delve

Para depuração avançada, recomendamos o uso do Delve, um depurador poderoso para Go. Instale-o com:

go install github.com/go-delve/delve/cmd/dlv@latest
Enter fullscreen mode Exit fullscreen mode

Aprenda mais sobre depuração em Go com Delve

Implantação e Considerações Finais

Compilando para Produção

Para compilar seu programa Go para produção:

go build -o meu-app cmd/main.go
Enter fullscreen mode Exit fullscreen mode

Este comando criará um executável binário otimizado para produção.

Dicas de Desempenho

  1. Use goroutines para tarefas concorrentes.
  2. Aproveite o garbage collector de Go, mas esteja ciente de seu impacto.
  3. Utilize benchmarks para identificar gargalos de desempenho.

Explore mais dicas de otimização em Go

Conclusão

Iniciar com Golang usando Nunu abre um mundo de possibilidades para desenvolvimento eficiente e poderoso. A combinação da simplicidade e desempenho de Go com as ferramentas práticas do Nunu cria um ambiente de programação ideal para projetos de qualquer escala.

Lembre-se, a jornada de aprendizado em programação é contínua. Continue explorando, praticando e construindo projetos para aprimorar suas habilidades em Golang.

Quer aprofundar seus conhecimentos em Golang e desenvolvimento em Linux? Confira nossos outros artigos e tutoriais sobre programação avançada e práticas de DevOps!

Para saber mais sobre Golang e Nunu, consulte os seguintes links:

Site oficial do Go: https://golang.org/
Repositório do GitHub do Nunu: https://github.com/nunu/nunu

. . . . . . . . . . . . . . . . . . . . . . . . . . . .