Sobes.tech
Junior — Middle

Pode explicar o que é um roteador na linguagem Go e como é utilizado?

sobes.tech IA

Resposta da IA

Na linguagem Go, o termo "roteador" geralmente refere-se a um componente do servidor web responsável por mapear as requisições HTTP recebidas para os manipuladores (handlers) correspondentes com base nos caminhos e métodos de URL.

O roteador permite definir qual código deve ser executado ao acessar uma rota específica, por exemplo, /users ou /products/{id}.

Exemplo de uso do roteador com o pacote popular gorilla/mux:

package main

import (
    "fmt"
    "net/http"
    "github.com/gorilla/mux"
)

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintln(w, "Hello, world!")
    }).Methods("GET")

    http.ListenAndServe(":8080", r)
}

Aqui, o roteador r direciona as requisições GET para /hello para a função manipuladora correspondente.

No contexto do Flutter, se a questão diz respeito à roteirização numa aplicação, então "roteador" é um mecanismo de navegação entre telas (routes), mas em Go, trata-se exatamente de um componente do servidor para lidar com requisições HTTP.