Junior — Middle
Můžete vysvětlit, co je to router v jazyce Go a jak se používá?
sobes.tech AI
Odpověď od AI
V jazyce Go se pojem "router" obvykle vztahuje na komponentu webového serveru, který při příchozích HTTP požadavcích mapuje požadavky na odpovídající obslužné funkce (handlers) na základě URL cest a metod.
Router umožňuje definovat, jaký kód má být spuštěn při přístupu na určitou trasu, například /users nebo /products/{id}.
Příklad použití routeru s populárním balíčkem 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)
}
Zde router r směruje GET požadavky na /hello na odpovídající obslužnou funkci.
V kontextu Flutter je "router" mechanismus navigace mezi obrazovkami (routes), ale v Go je to přesně komponenta serveru pro zpracování HTTP požadavků.