Junior — Middle
Môžete vysvetliť, čo je smerovač v jazyku Go a ako sa používa?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa zvyčajne pojem "router" odkazuje na komponentu webového servera, ktorá je zodpovedná za mapovanie prichádzajúcich HTTP požiadaviek na príslušné handler-y na základe URL ciest a metód.
Router umožňuje definovať, aký kód má byť vykonaný pri prístupe na určitú trasu, napríklad /users alebo /products/{id}.
Príklad použitia routera s populárnym balíkom 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)
}
Tu router r smeruje GET požiadavky na /hello na príslušnú handler funkciu.
V kontexte Flutter-u, ak sa otázka týka routovania v aplikácii, "router" je mechanizmus navigácie medzi obrazovkami (routes), ale v Go je to presne komponent servera na spracovanie HTTP požiadaviek.