Fiber para Go: guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é Fiber e para que serve?

\n\n

Fiber é um framework web rápido para Go, inspirado no popular framework Express.js para Node.js. Ele foi criado para o desenvolvimento de aplicações web e APIs de alto desempenho com consumo mínimo de memória. O Fiber utiliza um modelo de entrada e saída não bloqueante baseado em goroutines e no pacote fasthttp, o que o torna um dos frameworks web mais rápidos para Go.

\n\n

Para que serve o Fiber?

\n
    \n
  • Desempenho: O Fiber funciona significativamente mais rápido que o pacote padrão net/http graças ao uso do fasthttp. Ele é capaz de processar dezenas de milhares de requisições por segundo.
  • \n
  • Simplicidade e sintaxe familiar: Se você conhece o Express.js, aprenderá o Fiber rapidamente. A API é muito semelhante: rotas, middleware, manipuladores de requisições — tudo é intuitivo.
  • \n
  • Zero alocação de memória (zero memory allocation): O Fiber tenta minimizar a alocação de memória, o que reduz a carga no coletor de lixo e aumenta a estabilidade.
  • \n
  • Extensibilidade: Grande quantidade de middleware integrado (CORS, logging, compressão, sessões, etc.) e a possibilidade de criar os seus próprios.
  • \n
  • Suporte a padrões modernos: O Fiber suporta HTTP/2, WebSocket, mecanismos de template, arquivos estáticos e muito mais.
  • \n
\n\n

Instalação do Fiber

\n\n

Fiber é uma biblioteca para Go, portanto a instalação é feita através do gerenciador de pacotes padrão do Go. Certifique-se de ter o Go versão 1.16 ou superior instalado.

\n\n
# Inicialização do módulo (se ainda não foi feito)\ngo mod init myapp\n\n# Instalação do Fiber (última versão estável)\ngo get github.com/gofiber/fiber/v2
\n\n

Depois disso, você pode importar o Fiber no seu projeto:

\n\n
import "github.com/gofiber/fiber/v2"
\n\n

Nota: Se você estiver usando uma versão mais antiga do Go, pode ser necessário instalar o Fiber v1. No entanto, recomenda-se usar a v2, pois ela é mais ativamente desenvolvida.

\n\n

Início rápido com exemplo de código

\n\n

Crie um arquivo main.go e escreva um servidor HTTP simples:

\n\n
package main\n\nimport "github.com/gofiber/fiber/v2"\n\nfunc main() {\n    // Cria uma nova aplicação Fiber\n    app := fiber.New()\n\n    // Define a rota GET /\n    app.Get("/", func(c *fiber.Ctx) error {\n        return c.SendString("Olá, Fiber!")\n    })\n\n    // Inicia o servidor na porta 3000\n    app.Listen(":3000")\n}
\n\n

Execute o servidor:

\n\n
go run main.go
\n\n

Abra o navegador e acesse http://localhost:3000. Você verá a mensagem "Olá, Fiber!".

\n\n

Explicação:

\n
    \n
  • fiber.New() — cria uma nova instância da aplicação.
  • \n
  • app.Get("/", handler) — registra um manipulador para requisições GET no caminho raiz.
  • \n
  • c *fiber.Ctx — contexto da requisição, que fornece acesso aos dados da requisição e da resposta.
  • \n
  • c.SendString() — envia uma string como resposta.
  • \n
  • app.Listen(":3000") — inicia o servidor na porta 3000.
  • \n
\n\n

Principais métodos e funções do Fiber

\n\n

Vamos analisar 10 métodos e funções principais do Fiber com descrição detalhada e exemplos.

\n\n

1. fiber.New()

\n

O que faz: Cria uma nova instância da aplicação Fiber com as configurações padrão ou com uma configuração fornecida.

\n

Parâmetros: Aceita um argumento opcional config ...fiber.Config — uma estrutura com configurações (por exemplo, AppName, Prefork, ServerHeader, etc.).

\n

Exemplo:

\n
package main\n\nimport "github.com/gofiber/fiber/v2"\n\nfunc main() {\                    

Recommendations