Junior — Middle
Pode explicar o princípio de funcionamento de um roteador na linguagem Go?
sobes.tech IA
Resposta da IA
Na linguagem Go, o roteador (router) é geralmente utilizado no contexto de frameworks web para lidar com pedidos HTTP. Sua tarefa é mapear a URL de entrada e o método HTTP para o manipulador (handler) correspondente. O princípio de funcionamento é simples:
- O roteador mantém um conjunto de regras (rotas), onde cada caminho e método corresponde a uma função manipuladora.
- Quando uma solicitação chega, o roteador procura a rota adequada por URL e método.
- Se a rota for encontrada, o manipulador associado é chamado, que gera a resposta.
Exemplo de um roteador simples usando o pacote padrão net/http:
package main
import (
"fmt"
"net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "Hello, world!")
}
func main() {
http.HandleFunc("/hello", helloHandler) // Regista a rota
http.ListenAndServe(":8080", nil) // Inicia o servidor
}
Aqui, http.HandleFunc atua como um roteador simples, que liga o caminho /hello à função helloHandler. Roteadores mais complexos (por exemplo, gorilla/mux) suportam parâmetros no caminho, métodos, middlewares, etc.